仅替换字符串中的整个单词匹配项
我想使用 php
示例替换完整的单词: 如果我有
$text = "Hello hellol hello, Helloz";
并且我使用
$newtext = str_replace("Hello",'NEW',$text);
新文本应该看起来像
新的你好1你好,你好
PHP 返回
新的你好1你好,NEWz
谢谢。
I would like to replace just complete words using php
Example :
If I have
$text = "Hello hellol hello, Helloz";
and I use
$newtext = str_replace("Hello",'NEW',$text);
The new text should look like
NEW hello1 hello, Helloz
PHP returns
NEW hello1 hello, NEWz
Thanks.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
您想使用正则表达式。
\b
匹配单词边界。如果
$text
包含 UTF-8 文本,则必须添加 Unicode 修饰符“u”,以便非拉丁字符不会被误解为单词边界:You want to use regular expressions. The
\b
matches a word boundary.If
$text
contains UTF-8 text, you'll have to add the Unicode modifier "u", so that non-latin characters are not misinterpreted as word boundaries:字符串中的多个单词被此替换
multiple word in string replaced by this
数组替换列表:如果您的替换字符串相互替换,您需要
preg_replace_callback< /代码>
。
显然/为了提高效率,
/\w+/
可以替换为键列表/\b(one|two|third)\b/i
。Array replacement list: In case your replacement strings are substituting each other, you need
preg_replace_callback
.Obviously / for efficiency
/\w+/
could be replaced with a key-list/\b(one|two|three)\b/i
.您还可以使用 T-Regx 库,该库引用
$
或\替换时的
字符You can also use T-Regx library, that quotes
$
or\
characters while replacing