Hello Stackers,
我只是关于str_replace()
功能的一个小问题。当我更换一些东西时,它只会取代一切;没关系。但我想知道的是:
str_replace("*", "<strong>", $message);
是否可以对像*这样的代码使用str_replace这个内容是Bold *,只有内容,但仍然用<strong>
和</strong>
替换星号?
示例:
原文:**This Should be Bold**
替换后:<strong>This Should be Bold</strong>
对于将此标记为重复的人:它不是关闭HTML标记,而是关于替换。
我希望我不是那么不清楚。感谢。
答案 0 :(得分:3)
改用正则表达式;它更方便:
$message = "**This Should be Bold**";
$message = preg_replace('#\**([^\*]+)\**#m', '<strong>$1</strong>', $message);
echo $message;
或者,如果您想将小行星的数量限制为2:
'#\*{1,2}([^\*]+)\*{1,2}#m'
答案 1 :(得分:1)
您也可以这样做
<?php
$string = '**This Should be Bold**';
$string = preg_replace("/\*\*(.+?)\*\*/", "<strong>$1</strong>", $string);
echo $string;
?>