【发布时间】:2014-10-03 10:06:45
【问题描述】:
只想替换数组列表中的确切单词,当前代码工作期望它检查整个单词内容并替换:(
例子:-
$String= 这是一个测试,快乐的测试
它将“testing”替换为 t--ting 并将 test 替换为 t--t
想要输出:- 只过滤测试为 t--t,过滤词包含在其他字符中时忽略
代码
function filter($string) {
$wordlist = array(
'test' => 't--t'
);
foreach ($wordlist as $word => $filter) {
$word = "/{$word}/";
preg_match_all($word, $string, $matches);
foreach ($matches[0] as $bword) {
$pattern = "/{$bword}/";
$string = preg_replace($pattern, $filter, $string);
}
}
return $string;
}
echo filter($string);
我认为模式不正确,可以帮助我找到正确的模式或任何适用的工作代码
【问题讨论】: