我有这样一句话:

Stan, Stanley, Stan!

我想用 Peter 替换所有单词“Stan”以获得类似的内容
Peter, Stanley, Peter!

这是我的问题:不能取代斯坦利,因为这不是斯坦这个词!

现在我做这样的事情:
$txt = preg_replace(array('/Stan/i', '/Jack/i'), array('Peter', 'Jennifer'), $txt);

但我需要的是一个 regexp 只匹配一个单词(这意味着我的单词不会立即跟一个字母)。

我试过这样的东西/Stan([^[A-Za-z])/i 但这个渲染:
Peter Stanley, Peter

缺少一些标点符号

最佳答案

您可以为此使用字边界( \b );

/\bStan\b/ig

将匹配 Stan ,但不匹配 Stanley

Demo

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

10-13 09:11