尽管我已经阅读了很多教程,但我还是 PHP 和数组的新手。请谅解。:)
我的意图: 对于全文搜索,我试图用包含在单词列表中的自定义其他单词替换字符串中的单词。我突然想到,为了将整个单词而不是找到的字符串作为另一个单词的一部分,我必须使用具有特定模式的 preg_replace() 而不是 str_replace()。
我的问题:如果某个单词是单词列表的一部分,即 [apples],我正在尝试将 ie [全文搜索中的短文本] 替换为 ie [全文搜索中的短苹果]。自然地,最终的字符串看起来像 [Short apples in a fullapples search] 或者我收到一些分隔符警告。
因此,我试图找出 preg_replace() 函数仅替换完整单词而不是组合单词中的字符串的模式。最重要的是,我将单词对从关联数组中提取出来,以便更好地了解列表。这是我是新手的地方。
我的试验:
$replacements = array(
'text' => 'apples',
etc…
);
$pattern = '#\b'($searchterm)'\b#;
$searchterm = preg_replace(array_keys($replacements), $pattern, $searchterm);
echo $searchterm;
谢谢您的帮助!