为什么preg_replace删除HTML实体无效?为什么此preg_replace不起作用?删除HTML实体
// Remove all HTML entities
$text = preg_replace('/&[A-Za-z0-9]+?;/',' ', $text);
我只是试图取代所有HTML实体,如(& ###;,<,和等)的空间,但我似乎失去了一些东西,因为它不是取代他们,我现在完全混淆了。
测试用例
代码:
// Remove all HTML entities
$title="♥♥♥ I like cats ♥♥♥";
echo "BEFORE : ".$title."\n";
$title2 = preg_replace('/&[A-Za-z0-9]+?;/e',' ', $title);
echo "AFTER : ".$title2."\n";
输出:
BEFORE : ♥♥♥ I like cats ♥♥♥
AFTER : ♥♥♥ I like cats ♥♥♥
PHP的信息:
PHP版本:Ubuntu的5.3.6-13 3.5
正则表达式库:捆绑库启用
http://regexadvice.com/forums/thread/17340.aspx – hackartist 2012-02-12 19:24:59
按预期工作。您的输入有些不同,或者您错误地应用了它。 – mario 2012-02-12 19:31:31
我加了我如何测试它,它不适合我。 – 2012-02-12 19:42:37