1

我想删除字符串中长度超过 2 个字母的单词。例如:

$string = "tx texas al alabama ca california";

我想删除那些有两个以上字符的单词,所以输出如下: $output = "tx al ca";

4

2 回答 2

2
echo preg_replace('/[a-z]{3,}/','',$string);
于 2013-09-17T18:33:06.137 回答
1

可能不是最好的解决方案,但你可以用空格作为分隔符来分解字符串,循环遍历它,然后创建一个新数组并将单词推送到它,如果长度小于 2:

$string = "tx texas al alabama ca california";
$words = explode(' ', $string);

foreach ($words as $word) {
    if(strlen($word) <= 2) {
        $result[] = $word; // push word into result array
    }
}

$output = implode(' ', $result); // re-create the string

输出:

tx al ca

演示!

于 2013-09-17T18:33:13.310 回答