php strip_tags 的替代方案,允许在 sql 中使用 <、<=、>=、> - 正则表达式?

php alternative to strip_tags that allows <, <=, >=, > in sql - regex?

我在非 Wordpress 站点上使用 wp-db.php,它允许使用 apply_filters 函数。我最初是这样做的:

function apply_filters($type, $input) {
    return strip_tags($input);
}

我想阻止 html 被保存。我以为我解决了问题,但后来注意到 sql 包含 <= 之类的查询不起作用。

我想要它做的是去除以字符开头的标签,例如<b... 但如果括号后有 space 或等号,例如<<= 那么它不应该删除它。

我找到了这段代码,但它无法正常工作:

preg_replace('/<[^>]*>/', '', $input);

例如

<b>test</b> abc <= def < ok? ilj >= xyz >

返回为:

test abc = xyz >

它应该只删除 <x...> where x is not a space or equals sign and remove </....>

顺便说一句,我注意到