用数组替换函数的单词

时间:2017-02-07 01:08:03

标签: php regex word-boundary

我需要删除句子中的一些单词,但我希望删除该单词以完全匹配...

这是我的代码:

<?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返回:我的你,你

有什么想法吗?非常感谢你提前!

2 个答案:

答案 0 :(得分:2)

您可以将X2与字边界一起使用,但不会获得部分匹配:

preg_replace

演示:https://eval.in/731588

答案 1 :(得分:0)

这是我的完整解决方案,我希望其他人能为您服务!

<?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);
?>