rtrim vs. preg_replace vs. ereg_replace

I was checking the file_helper.php code today when line 124 struck me as unnecessarily complex way to trim the slash.

$path = preg_replace("|^(.+?)/*$|", "\\1", $path);

The same code can be rewriten as:
$path = rtrim($path,'/');

In this case rtrim command is four times faster than preg_replace and more readable as well.

Of course, ereg_replace performs the worst. Here are benchmarking results for 10m iterations:

rtrim: 0.649 s
preg_replace: 2.868 s
ereg_replace: 5.750 s

Also, in the path_helper.php on line 55, replacing the line that adds a slash to a path

$path = preg_replace("#([^/])/*$#", "\\1/", $path);


$path = rtrim($path,'/').'/';

speeds things up by about 6-7 times.

Digg   Delicious   Reddit   Facebook   Twitter   StumbleUpon  

  Theme © 2014 iAndrew  
Powered By MyBB, © 2002-2020 MyBB Group.