Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Remove extra space at the end of string using preg_replace

I want to replace the extra space at the end of the string with nothing using preg_replace in PHP. I was creating a big database of words and somehow a few words got extra white space at the end.

like image 947
daron Avatar asked Dec 12 '22 16:12

daron


2 Answers

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.

like image 64
Michael Irigoyen Avatar answered Dec 28 '22 08:12

Michael Irigoyen


why not just use trim() http://php.net/manual/en/function.trim.php

like image 32
KJYe.Name Avatar answered Dec 28 '22 08:12

KJYe.Name