我想循环遍历一个数组,将包含标记的特定键/值对转换为HTML。
因此$comment['comment_text']的示例值为:
This has *bolded* text
应该变成:
This has <strong>bolded</strong> text
以下是我的尝试:
$pattern = "/\*\b.*?\b\*/i";
$newComment = preg_replace($pattern, "<strong>$&</strong>",
$comment['comment_text']);
我得到的是:
这个有
$和
文本
我意识到我正在将JavaScript和PHP混合在一起,但是阅读关于PHP中的后引用并没有使事情变得更清楚。
我的字符串可能有多个粗体(在标记中)实例…
感谢您的帮助。
更新:
抱歉-我没有意识到stackoverflow正在将星号转换为斜体。我将示例转换为代码。
另外,我的困惑归结为使用了0美元和1美元。我还是不完全理解。我认为这些数字指的是字符串中的匹配项……所以如果你有5个实例,你可以用0到4美元来指它们。
如果你用0美元,你会得到:
This has <strong>*bolded*</strong> text
但是如果你用1美元,你会得到想要的结果。