Joomla preg_replace不工作

时间:2013-11-28 21:21:51

标签: php joomla

我想删除多个空格。

效果很好:

$test = array('bla bla   blaa   ', 'eee asdasd lorem mmmm    asdasd asdd   ss');
foreach($test as $item) {
  echo preg_replace('/\s+/', ' ', $item)."\n";
}

但是当我制作Joomla 3.2插件时,我会爆炸文章内容(新行), 它不起作用,我不知道为什么。

$string = explode("\n", $text); // art content

foreach($string as $item) {
    echo preg_replace('/\s+/', ' ', $item)."\n"
}

编辑调试:

它不起作用......

$string = explode("\n", $text);

foreach($string as $item) {
    var_dump($item);
    echo preg_replace('/\s+/', ' ', $item)."\n";
}

返回

                    string(53) "<p>ballll asf           aikasifn     asf </p>
"
<p>ballll asf           aikasifn     asf </p> 
string(58) "<p>lorem          i   psdfaufma   asfasf</p> "
<p>lorem          i   psdfaufma   asfasf</p> 

1 个答案:

答案 0 :(得分:0)

RegExr example

您可能希望使用 2或更多来正确匹配替换。

echo preg_replace('/\s{2,}/', '', $item)."\n"

<强>更新

$text = <<<EOF
<p>ballll asf           aikasifn     asf </p>
<p>ballll asf           aikasifn     asf </p>
EOF;

$string = explode("\n", $text);

foreach($string as $item) {
    //var_dump($item);
    echo preg_replace('/\s+/', ' ', $item)."\n";
}

产地:

macbook-pro:Desktop allendar$ php -f test.php 
<p>ballll asf aikasifn asf </p>
<p>ballll asf aikasifn asf </p>