用数组替换函数的单词
Replace word of a function with array
我需要删除一个句子中的一些词,但我希望被删除的词完全匹配...
这是我的代码:
<?php
function Clean ($text) {
$array = array(
'goo' => '',
'guu' => '',
);
return strtr($text, $array);
}
$OldText = "goo guu mygoo myguu gooyou guuyou";
$NewText = Clean($OldText);
echo $NewText;
?>
我想要这个: mygoo myguu gooyou guuyou
PHP returns:我我你你
有什么想法吗?非常感谢您!
您可以将 preg_replace
与单词边界一起使用,您不会得到部分匹配:
echo preg_replace('/\s*\b(goo|guu)\b\s*/', '', $OldText);
这是我的完整解决方案,希望有人能为您服务!
<?php
function Clean ($text) {
$array = array(
'/\s*\b(goo)\b\s*/',
'/\s*\b(guu)\b\s*/',
);
return preg_replace($array,'', $text);
}
$OldText = "goo guu mygoo myguu gooyou guuyou";
echo Clean($OldText);
?>
我需要删除一个句子中的一些词,但我希望被删除的词完全匹配...
这是我的代码:
<?php
function Clean ($text) {
$array = array(
'goo' => '',
'guu' => '',
);
return strtr($text, $array);
}
$OldText = "goo guu mygoo myguu gooyou guuyou";
$NewText = Clean($OldText);
echo $NewText;
?>
我想要这个: mygoo myguu gooyou guuyou
PHP returns:我我你你
有什么想法吗?非常感谢您!
您可以将 preg_replace
与单词边界一起使用,您不会得到部分匹配:
echo preg_replace('/\s*\b(goo|guu)\b\s*/', '', $OldText);
这是我的完整解决方案,希望有人能为您服务!
<?php
function Clean ($text) {
$array = array(
'/\s*\b(goo)\b\s*/',
'/\s*\b(guu)\b\s*/',
);
return preg_replace($array,'', $text);
}
$OldText = "goo guu mygoo myguu gooyou guuyou";
echo Clean($OldText);
?>