尝试使用preg_replace查找以正斜杠开头和结尾的字符串,例如"/Harry/"
。 (必须是preg_replace)
我还需要忽略大小写并确保它是一个单词。到目前为止,我有以下情况,但我没有运气得到它的工作:(
$old_words[0] = '/\b\/Harry\/\b/i';
$new_words[0] = 'Wizard';
$chat = preg_replace($old_words, $new_words, $chat);
答案 0 :(得分:1)
如果你的问题真的只是单词boundary \b
,那么你可以尝试一些辅助断言:
$old_words[0] = '#(?<!\w)/Harry/(?!\w)#i';
这基本上确保在斜线之前或之后不会出现字母。
答案 1 :(得分:0)
如果您只想替换单个单词,则无需使用preg_replace
。请改用str_ireplace(不区分大小写替换)。但是,您可以使用除/
之外的其他字符作为正则表达式的分隔符:#
,~
,...