PHP替换,但替换替换字符串

red*_*_hp 2 php markdown replace

好的,这就是我要做的事情:我试图使用PHP开发本质上只是markdown实现的一部分,而不值得使用完整的markdown类。

我本质上需要做一个str_replace,但是每次出现针时都要替换替换字符串,以便处理打开和关闭HTML标记。

例如,斜体是一对像* this *这样的星号,而代码块则被诸如“ this”这样的反引号包围。

我需要用对应的开头HTML标签替换第一次出现的一对字符,然后用结束标签替换第二个字符。

有关如何执行此操作的任何想法?我认为会涉及某种正则表达式...

Sas*_*gov 5

就个人而言,我将遍历每次出现的计数器*\计数器,然后根据计数用适当的HTML标记替换字符(例如,如果计数为偶数并且打了星号<em>,则将其替换为,如果是奇数然后将其替换为</em>,等等)。

但是,如果您确定只需要支持几种简单的标记,则针对每种标记的正则表达式可能是最简单的解决方案。例如,星号是这样的(未经测试):

preg_replace('/\*([^*]+)\*/', '<em>\\1</em>', $text);
Run Code Online (Sandbox Code Playgroud)

反斜杠也是如此。