0

我需要对页面上的所有内容运行“preg_replace”,包括内部小部件内容、页眉页脚和所有其他显示的位置。如何运行页面上的所有输出?

我想替换页面上可能出现的所有坏词。我只是不知道如何搜索页面上的所有内容。

4

1 回答 1

0

在您的整个内容上运行 preg_replace 在性能方面非常昂贵,我不确定该怎么想,但有一种方法可以做到。

最好的方法是使用输出缓冲区将所有内容放入一个变量中,然后随心所欲地摆弄它,然后输出最终结果。

它看起来像这样:

// starts the output buffer
ob_start(); 

// In your case this is where all the content output is going to go. This echo is just a sample
echo "badword\n"; 

// get all the buffered content output
$OB = ob_get_contents(); 

// clean the buffered content, and also end the output buffer 
ob_end_clean(); 

// run a replace on all the buffered content, and echo it out
echo preg_replace("/badword/", "BEEP", $OB); 
于 2012-12-12T05:37:03.063 回答