Heim  >  Artikel  >  php教程  >  Wie viel schneller ist preg_replace als ereg_replace?

Wie viel schneller ist preg_replace als ereg_replace?

黄舟
黄舟Original
2016-12-14 11:15:471356Durchsuche

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( "/||/isU","",$str) ;
$alltext = "";
$start = 1;
for($i=0;$iif($start== 0 && $ str[$i]==">") $start = 1;
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("| |< !--(.*)-->","",$str);
$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.

Wenn Sie in Ihrem Programm immer noch Ereg zur Verarbeitung längerer Texte verwenden, empfiehlt es sich, dies sofort zu ändern.

Vielen Dank fürs Lesen, ich hoffe, es wird für alle hilfreich sein. Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website (www.php.cn)!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn