preg_replace is a text matching mode built into Perl, but some parameters are more complicated to use than ereg_relace. In actual project applications, there are still many people using ereg. Recently, I wrote a method to obtain text in HTML. function, and found that preg_replace is actually nearly twice as fast as ereg_replace. The two functions are as follows:
Use preg_replace
function GetHtmlText($str)
{
$str = preg_replace("/
$alltext = "";
$start = 1;
for($i=0;$i
else if($start==1){
if($str[$i]=="<"){ $start = 0; $alltext .= " "; }
else if(ord($str[$i])>32) $alltext .= $str[$i];
}
}
$alltext = preg_replace("/&([^;&]*)(;|&)/"," ",$alltext);
$alltext = preg_replace("/{1,}/"," ",$alltext);
$alltext = preg_replace("/ {1,}/"," ",$alltext);
return $alltext;
}
Use ereg_replace
function GetHtmlText($str)
{
$str = eregi_replace("
$alltext = "";
$start = 1;
for($i=0;$i
else if($start==1){
if($str[$i]=="<"){ $start = 0; $alltext .= " "; }
else if(ord($str[$i])>32) $alltext .= $str[$i];
}
}
$alltext = ereg_replace("&([^;&]*)(;|&)"," ",$alltext);
$alltext = ereg_replace("{1,}"," ",$alltext);
$alltext = ereg_replace(" {1,}"," ",$alltext);
return $alltext;
}
After many tests and comparisons, the function using preg_replace is generally between 0.08-0.12 seconds, but the function using ereg_replace is between 0.35-0.38 seconds. The test webpage is Baidu’s homepage, and my system is Tualatin 1.1G. CPU, 384M memory.
If your program still uses ereg to process longer text, it is recommended to change it immediately.