PHP中Markdown转HTML:星号内容转<b>标签正则问题求助
问题分析与修正方案
你的代码存在三个核心问题:
- 函数使用错误:JavaScript中不存在
str_replace函数,正确的字符串替换方法是调用字符串自身的replace()方法。 - 变量名不一致:你定义的变量是
str,但替换时误用了PHP风格的$str,JavaScript变量不需要添加$前缀。 - 正则匹配范围有限:原正则里的
\w+只能匹配字母、数字和下划线,无法匹配包含空格、标点等非单词字符的内容,建议改用[^*]+匹配两个**之间的任意非星号字符,适配更多场景。
修正后的代码如下:
let str = "**test**"; str = str.replace(/\*\*([^*]+)\*\*/g, "<b>$1</b>"); // 输出结果:<b>test</b>
内容的提问来源于stack exchange,提问作者miami
相关产品推荐
相关产品推荐

