PHP:删除/替换字符串中所有单个字符的函数?

时间:2011-08-29 23:15:25

标签: php string replace character

我需要一个PHP函数来删除(或替换)字符串中的所有单个字符。

"A Quick Brown B C D Fox" - > "Quick Brown Fox"

任何?

2 个答案:

答案 0 :(得分:2)

您可以使用正则表达式:

$str = trim(preg_replace('@(^|\pZ)\pL\pM*(?=\pZ|$)@u', ' ', $str));

这会删除任何单个字母。如果要删除任何字符句点,可以执行以下操作:

$str = trim(preg_replace('@(^|\pZ)P\Z(?=\pZ|$)@u', ' ', $str));

演示:http://codepad.viper-7.com/YaLUQD

答案 1 :(得分:1)

$string = "A Quick Brown B C D Fox";
$array = explode(' ', $string);
foreach ($array as $key => $value)
    if (strlen($value) == 1)
        unset($array[$key]);
$string = implode(" ", $array);
echo $string;

那就行了 - 这次测试了。遗憾。