我正在尝试搜索并替换为字符串, 我有2个问题 1.我需要检查术语是否在标签内?"术语" - 在这种情况下什么也不做。 我需要确保我正在替换一个完整的词而不是削减这个词:
function str_replace_first($from, $to, $content)
{
$from = '/'.preg_quote($from, '/').'/';
return preg_replace($from, $to, $content, 1);
}
示例:
echo str_replace_first('good','bad','goodmorning');
结果:badmorning //如果我们要剪切一个单词,我需要不替换脚本,如果我们要更改整个单词则执行替换 感谢
答案 0 :(得分:0)
如果我们正在剪切一个单词,我需要不替换脚本,如果我们要更改整个单词则执行替换
幸运的是,正则表达式语法正好以\b
词边界标记的形式提供所需的语法。只需将其添加到您要匹配的单词的任一端,如下所示:
function str_replace_first($from, $to, $content)
{
$from = '/\b'.preg_quote($from, '/').'\b/';
return preg_replace($from, $to, $content, 1);
}
现在,goodmorning
中的“好”不会被替换,但good morning
将会被替换。