You should use rtrim
instead. It will remove extra white space at the end of a string and is faster than using preg_replace
.
$str = "This is a string. ";
echo rtrim($str);
Speed Comparison - preg_replace
v. trim
// Our string
$test = 'TestString ';
// Test preg_replace
$startpreg = microtime(true);
$preg = preg_replace("/^s+|s+$/", "", $test);
$endpreg = microtime(true);
// Test trim
$starttrim = microtime(true);
$trim = rtrim($test);
$endtrim = microtime(true);
// Calculate times
$pregtime = $endpreg - $startpreg;
$trimtime = $endtrim - $starttrim;
// Display results
printf("preg_replace: %f<br/>", $pregtime);
printf("rtrim: %f<br/>", $trimtime);
Results
preg_replace: 0.000036
rtrim: 0.000004
As you can see, rtrim
is actually nine times faster.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…