在星号之间加粗文本

Isa*_*iah 8 php str-replace

我想制作一个PHP函数,它可以在双星号之间加粗,而在一个星号之间使用斜体(非常类似于stackoverflow上的编辑器).

同样的规则适用,如果*和单词之间有空格,则不应呈现.

谁能帮助我?我试过,但我只走到这一步,因为我不知道如何制作奇怪的星号"<b>"和偶数的"</ b>".

(我不能在没有空格的情况下键入它们,stackoverflow会将文本呈现为粗体.....)

$thenewtext = str_replace("**", "<b>", "**Hello World** of PHP");
Run Code Online (Sandbox Code Playgroud)

FtD*_*Xw6 15

一个简单的正则表达式可以解决这个问题:

$thenewtext = preg_replace('#\*{2}(.*?)\*{2}#', '<b>$1</b>', '**Hello World** of PHP');
Run Code Online (Sandbox Code Playgroud)