PHP: функция для удаления / замены всех отдельных символов в строке? - PullRequest
0 голосов
/ 30 августа 2011

Мне нужна функция PHP, которая удаляет (или заменяет) все одиночные символы в строке.

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

Кто-нибудь?

Ответы [ 2 ]

2 голосов
/ 30 августа 2011

Вы можете использовать регулярное выражение:

$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 голос
/ 30 августа 2011
$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;

Вот и все, на этот раз проверил. К сожалению.

...