Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
menu search
person
Welcome To Ask or Share your Answers For Others

Categories

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.

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
582 views
Welcome To Ask or Share your Answers For Others

1 Answer

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.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share

548k questions

547k answers

4 comments

86.3k users

...