在以下代码行中,如何将ereg_replace转换为preg_replace,现在不推荐使用ereg_replace。
我有一个名为badwords.txt的文件,其中包含很多短语/单词(每行一个),这些短语/单词可能是垃圾邮件(这些可能包含任何字符)。我使用此代码计算可能成为垃圾邮件的单词的数量,然后决定如何处理引荐来源。
$fh = fopen("badwords.txt","r"); //Open the file that contains the words
while($word = fgets($fh,4096))
{
$text = ereg_replace(trim($word),"#####",$text);
}
$offence = substr_count($text, "#####");
如果是的话,我明白了:
$text = ereg_replace('[^A-Za-z0-9_]', '######', $text );
然后它会变成:
$text = preg_replace('/[^A-Za-z0-9_]/', '######', $text );
但是,我无法使用上面的代码进行额外的转义。当我运行ereg_replace代码时,我收到错误,但数据显示仍然存在。当我将其切换到preg_replace(trim($word),"#####",$text);
时,没有任何显示。
感谢任何指针!