0

任何人都可以找到此错误的解决方案,

     $str=  trim(strip_tags($str));

$str = preg_replace("'<style[^>]*>.*</style>'siU",'',$str);

    $patterns = array();
$patterns[0] = '&nbsp; ';
$patterns[1] = ' &nbsp;';
$patterns[2] = '&nbsp;';
$replacements = array();
$replacements[0] = '';
$replacements[1] = '';
$replacements[2] = ' ';

$str    =   preg_replace($patterns, $replacements, $str);

它显示此错误。

消息:preg_replace() [function.preg-replace]: 没有找到结束分隔符 '&'

-阿伦

4

2 回答 2

0

您在错误代码中有 anwser,正则表达式需要分隔符才能工作。

你应该使用 str_replace &nbsp;

于 2011-02-28T14:42:14.687 回答
0

模式中的第一个字符被解释为分隔符,现在 PHP 认为您想使用 & 作为分隔符。在您的第一个正则表达式中,分隔符是', BTW。我猜你真正想要的不是'&nbsp;',而是'/&nbsp;/'(例如模式2),现在/是分隔符(它不是正则表达式本身的一部分)。顺便说一句,您的第一个正则表达式似乎也不正确,应该是

'<style[^>]*>[^<]*</style>'

否则,正则表达式可以匹配整个文档的第一个标签和最后一个标签。

于 2011-02-28T14:50:22.790 回答