PHP-str_replace内容不替换
作者:互联网
你好堆高车,
我只是有一个关于str_replace()函数的小型PHP问题.当我替换某些东西时,它将替换所有内容.没关系.但是我想知道的是:
str_replace("*", "<strong>", $message);
是否可以将str_replace用于*这样的代码,该内容为粗体*,仅包含内容,但仍用< strong>替换星号和< / strong> ;?
例:
原文:**这应该是粗体**
替换后:< strong>这应该是粗体< / strong>
对于标记为重复的用户:与关闭HTML标签无关,而与替换有关.
我希望我不是那么不清楚.谢谢.
解决方法:
改用正则表达式;更加方便:
$message = "**This Should be Bold**";
$message = preg_replace('#\**([^\*]+)\**#m', '<strong>$1</strong>', $message);
echo $message;
或者,如果您要将小行星的数量限制为2:
'#\*{1,2}([^\*]+)\*{1,2}#m'
标签:str-replace,php 来源: https://codeday.me/bug/20191027/1943752.html