我正在尝试做一些 PHP preg。但如果我想要一个没有任何东西的字符串,我似乎无法让它匹配。
Example:
Hello! My name is [b]Peter Jack[/b]
如果找到 Peter Jack 的姓氏,则它将不匹配,但如果找到“[b]Peter[/b]”,则它将匹配。
任何我不擅长解释事情的人,如果还有什么需要帮助我解决这个问题,请发表评论。
我可以说的另一种方式是,如果我有一个网站的链接,它将匹配并执行 preg_replace 中的内容,但如果网站的链接以 .png(图像)结尾,它将不匹配并且不会建立链接。
example.com/image.png
不会被匹配,因为它包含.png
example.com/image
会被匹配,因为它确实如此not包含.png
目前还不清楚你想找到什么。如果只是[b]Peter[/b]
,那么你不需要正则表达式。
如果您想查找被 BBCode 粗体标签包围的单个“单词”,请使用
preg_match('%\[b\]\w*\[/b\]%', $subject)
如果您想在 BBCode 粗体标记中查找任何内容,只要它不包含Jack
, use
preg_match(
'%\[b\] # Match [b]
(?: # Try to match...
(?!Jack) # (unless the word "Jack" occurs there)
. # any character
)*? # any number of times, as few as possible
\[/b\] # Match [/b]%x',
$subject)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)