preg_replace ist ein in Perl integrierter Textabgleichsmodus, aber einige Parameter sind komplizierter zu verwenden als ereg_relace. Es gibt immer noch viele Leute, die ereg verwenden. Kürzlich habe ich eine Methode geschrieben, um Text in HTML zu erhalten und stellte fest, dass preg_replace tatsächlich fast doppelt so schnell ist wie ereg_replace. Die beiden Funktionen sind wie folgt:
Verwenden Sie preg_replace
Funktion 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;
}
Verwenden Sie ereg_replace
Funktion GetHtmlText($str)
{$str = eregi_replace("
$alltext = "";
$start = 1;
for($i=0; $i< strlen($str);$i ){
if($start==0 && $str[$i]==">") $start = 1;
else if($start ==1 ){
if($str[$i]=="<"){ $start = 0; $alltext .= " "; ])> ;32) $alltext .= $str[$i];
}
}
$alltext = ereg_replace("&([^;&]*)(;|&)", " ", $alltext);
$alltext = ereg_replace("{1,}"," ",$alltext);
$alltext = ereg_replace(" {1,}"," ",$alltext) ;
return $alltext;
}
Nach vielen Tests und Vergleichen liegt die Funktion, die preg_replace verwendet, im Allgemeinen zwischen 0,08 und 0,12 Sekunden, die Funktion, die ereg_replace verwendet, jedoch zwischen 0,35 und 0,38 Sekunden Die Webseite ist Baidus Homepage. Mein System verfügt über eine Tualatin 1.1G CPU und 384 MB Speicher.