PHP:替换字符并进行例外(preg_replace)
如何:
- 使用
preg_replace()
替换单词中的字符,但 make 如果它们是以下内容的一部分则例外 某个词。 - 将大写字符替换为 大写替换,即使 替换为小写,副 反之亦然。
示例:
$string = 'Newton, Einstein and Edison. end';
echo preg_replace('/n/i', '<b>n</b>', $string);
来自:newton、Einstein and爱迪生n。 end
至:Newton、Einstein 和nd Ediso< b>n。 在这种情况下,
我希望替换所有 n
字母,除非它们是单词 end
的一部分,并且 Newton
不应更改为 牛顿
How do I:
- replace characters in a word using
preg_replace()
but make
an exception if they are part of a
certain word. - replace an uppercase character with an
uppercase replacement even if the
replacement is lowercase and vice
versa.
example:
$string = 'Newton, Einstein and Edison. end';
echo preg_replace('/n/i', '<b>n</b>', $string);
from: newton, Einstein and Edison. end
to: Newton, Einstein and Edison. end
In this case I want all the n
letters to be replaced unless they are part of the word end
And Newton
should not change to newton
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
它匹配前面没有[单词边界 + e] 或后面没有 [d + 单词边界] 的任何字母“n”。
一般情况:
/((?
It matches any letter 'n' that is either not preceded by [word boundary + e] or not followed by [d + word boundary].
The general case:
/((?<!\b$PREFIX)$LETTER|$LETTER(?!$SUFFIX\b))/i'