seth: preg_replace vs. str_replace

Beitrag lesen

gudn tach!

Bliebe nur die Frage was performanter wäre, 1*preg_replace oder 2* str_replace.

2*str_replace (oder auch 1*str_replace mit search-array) ist schneller:

<?php  
 $no_it = 1000;  
 $alg = array('str_replace', 'preg_replace');  
  
 // $str muss noch gesetzt werden.  
  
 echo $alg[0],"\n";  
 $time_begin = microtime(true);  
  for($it=$no_it; $it>=0; --$it) {  
  $temp = str_replace("\n", '', $str);  
  $temp = str_replace("\r", '', $temp);  
  }  
 $time_end = microtime(true);  
 $time = $time_end-$time_begin;  
 echo 'time: ',$time,' seconds',"\n";  
  
 echo $alg[1],"\n";  
 $time_begin = microtime(true);  
  for($it=$no_it; $it>=0; --$it) {  
  $temp = preg_replace("/[\n\r]+/", '', $str);  
  }  
 $time_end = microtime(true);  
 $time = $time_end-$time_begin;  
 echo 'time: ',$time,' seconds',"\n";  
?>

kannst ja mal mit diesem php5-code (fuer php4 muss microtime umgebaut werden) rumspielen. lange strings, kurze strings, viele zeilenumbrueche, wenige zeilenumbrueche, ...

prost
seth