使用preg_replace删除字符串末尾的额外空格

dar*_*ron 4 php preg-replace

我想用preg_replacePHP中的任何东西替换字符串末尾的额外空格.我正在创建一个大的单词数据库,不知何故,一些单词最后得到了额外的空白区域.

Mic*_*yen 9

你应该使用rtrim.它将删除字符串末尾的额外空格,并且比使用更快preg_replace.

$str = "This is a string.    ";
echo rtrim($str);
Run Code Online (Sandbox Code Playgroud)

速度比较 - preg_replacev.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);
Run Code Online (Sandbox Code Playgroud)

结果

preg_replace:0.000036
rtrim:0.000004

如您所见,rtrim实际上快了九倍.