我想从输入字符串中清除<
和>
字符,以使其“安全”,避免脚本注入恶作剧。
我知道strip_tags()可用于此,但这会产生如下字符串:
We are looking at counts < 5000 for this test run
被截断为:
We are looking at counts
。
我希望将其转换为:
We are looking at counts 5000 for this test run
这并不完美,但字符串中的信息就会丢失。
我知道这可以用例如正则表达式来实现,但这有什么不安全的吗?我的意思是,strip_tags()是否对字符串执行了一些特殊操作,而刚删除<>
的正则表达式不会这样做?
我现在不想使用htmlentities(),因为这会混淆我们的前端代码。
答案 0 :(得分:1)
如果您只想删除<
和>
,请使用以下代码:
$str = 'We are looking at counts < 5000 for this test run';
$convertedBracketStr = str_replace(array('<', '>'), null, $str);
结果将是:We are looking at counts 5000 for this test run
答案 1 :(得分:0)
http://php.net/manual/en/function.htmlspecialchars.php
这会将&lt ;,&gt;和许多其他字符转换为HTML实体,以便在页面上正确显示。