我想知道是否可以将模糊搜索与str_replace结合使用。
更清楚地说,这是一个例子:
$data = array('my first word', 'myl second word', 'my third words')
我想找到一种方法,通过模糊搜索错别字和复数形式来替换每次出现的“我的单词”。
最终结果看起来像这样:
$data = array('first', 'second', 'third')
预先感谢
答案 0 :(得分:0)
您可以在带有preg_match
的正则表达式中使用单词边界来完成此操作。假设您已经知道要查找的术语...
$goodterms = array('first', 'second', 'third');
$datas = array('my first word', 'myl second word', 'my third words');
foreach($datas as $data){
if(preg_match('/\b(' . implode('|', $goodterms) . ')\b/', $data, $matches)) {
$match[] = $matches[1];
}
}
print_r($match);
|
是一个更改。 ()
组成一个小组。 \b
确保组中匹配的任何内容都不包含开头/结尾内容。 https://www.regular-expressions.info/wordboundaries.html