【发布时间】:2018-09-19 15:40:34
【问题描述】:
我想将字符串中的*asd* 替换为<b>asd</b>。
*Abdāl* (*lit*: substitutes, but which can also mean generous [*karīm*]
在上面的字符串中,我想用<b>abdal</b> 替换*abdal* 以及用* 括起来的其他单词。
我该怎么做?
我的代码:
$s="*Abdāl* (*lit*: substitutes, but which can also mean generous [*karīm*]";
preg_replace_callback("#\*[^\*]*\*#",function ($string) {
$string = preg_replace("/<a\s(.+?)>(.+?)<\/a>/is", "<b>$2</b>", $string);
}, $s);
我能够在 preg_replace_callback 中获得 *abdal* 字符串作为匹配项,但现在我试图将 *abdal* 替换为 <b>abdal</b>。
【问题讨论】:
-
显示您尝试过的内容...
-
一个天真的解决方案是从正则表达式
\*([^*]+)\*开始,自己尝试一下 :)
标签: php regex preg-replace preg-replace-callback