php - 替换句子中的单词

标签 php regex preg-replace

我有这样一句话:

Stan, Stanley, Stan!

我想用 Peter 替换所有单词“Stan”以得到类似的东西

Peter, Stanley, Peter!

这是我的问题:不能替换 Stanley,因为这不是 Stan 这个词!

现在我正在做类似的事情:

$txt = preg_replace(array('/Stan/i', '/Jack/i'), array('Peter', 'Jennifer'), $txt);

但我需要的是一个正则表达式来匹配一个单词(这意味着我的单词后面没有紧跟着一个字母)。

我试过这样的/Stan([^[A-Za-z])/i 但是这个渲染:

Peter Stanley, Peter

缺少一些标点符号

最佳答案

你可以为此使用单词边界(\b);

/\bStan\b/ig

将匹配 Stan,但不匹配 Stanley

Demo

关于php - 替换句子中的单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9581628/

相关文章:

php - 如何替换字符串中的第 n 次出现

php - 设置 IF 语句

javascript - 根据推荐人更改表单选择

php - 从一行中选择一个单选按钮并从该行获取其他输入字段的值

java - 字符串分割特殊正则表达式

php - 正则表达式 preg_replace php

php - 除页码外,删除 tcpdf 中的底线

C# regex.split 方法在括号前添加空字符串

当预期 > 0 时,JavaScript 正则表达式返回 -1

php - preg_replace 超链接问题