我想删除字符串中长度超过2个字母的单词。例如:
$string = "tx texas al alabama ca california";
我想删除那些包含两个以上字符的单词,这样输出就像: $ output =“tx al ca”;
答案 0 :(得分:2)
echo preg_replace('/[a-z]{3,}/','',$string);
答案 1 :(得分: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