在以下代码行中,我如何将 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);
无显示时。
感谢任何指针!