标题标签与正则表达式

时间:2016-01-26 11:04:21

标签: php regex

如何将h2标签放入句子?

$text = "paragraph 1
*some title*
paragraph 2";

这就是我尝试过的。它在这里工作http://www.regexr.com/3clm4但如果我把它放在真正的php页面中它不起作用。你知道为什么以及如何解决它吗?

$text = preg_replace("/\*([\w\s]+)\*/","<h2>\1<\/h2>",$text);
echo $text;

2 个答案:

答案 0 :(得分:1)

你非常接近工作解决方案。要使用的确切代码是:

$t = preg_replace("/\*([\w\s]+)\*/","<h2>\\1</h2>",$text);

您需要使用"\\1",因为"\1"实际上是表示字节0x01的字符。

此外,关闭h2代码中的/无需转义。

答案 1 :(得分:1)

您的反向引用存在问题 - 您必须使用双斜杠("<h2>\\1</h2>"),或使用美元('<h2>$1</h2>')。

您可以在此处阅读更多内容:替换部分中的http://php.net/manual/en/function.preg-replace.php