用开始和结束<strong>标签替换双星号对[重复]

问题描述 投票:0回答:2

当我更换某些东西时,它只会更换所有东西;没关系。但我想知道的是:

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

是否可以将

str_replace()
用于像
* This content is Bold *
这样的代码,只有内容,但仍然用
<strong>
</strong>
替换星号?

示例:

原文:

**This Should be Bold**
更换后:
<strong>This Should be Bold</strong>

php replace markdown
2个回答
3
投票

使用正则表达式代替;更方便:

$message = "**This Should be Bold**";
$message = preg_replace('#\**([^\*]+)\**#m', '<strong>$1</strong>', $message);
echo $message;

或者如果您想将小行星的数量限制为 2:

'#\*{1,2}([^\*]+)\*{1,2}#m'

1
投票

你也可以这样做

https://eval.in/518881

<?php
    $string = '**This Should be Bold**';
    $string = preg_replace("/\*\*(.+?)\*\*/", "<strong>$1</strong>", $string);
    echo $string;
?>
© www.soinside.com 2019 - 2024. All rights reserved.