str_replace内容未替换

时间:2016-02-15 13:03:08

标签: php str-replace

Hello Stackers,

我只是关于str_replace()功能的一个小问题。当我更换一些东西时,它只会取代一切;没关系。但我想知道的是:

str_replace("*", "<strong>", $message);

是否可以对像*这样的代码使用str_replace这个内容是Bold *,只有内容,但仍然用<strong></strong>替换星号?

示例:

原文:**This Should be Bold** 替换后:<strong>This Should be Bold</strong>

对于将此标记为重复的人:它不是关闭HTML标记,而是关于替换。

我希望我不是那么不清楚。感谢。

2 个答案:

答案 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)

您也可以这样做

https://eval.in/518881

<?php
    $string = '**This Should be Bold**';
    $string = preg_replace("/\*\*(.+?)\*\*/", "<strong>$1</strong>", $string);
    echo $string;
?>