2016-01-26 144 views
-2

如何将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; 
+1

难道你只是问一些非常相似的东西吗?使用像markdown这样的标准解决方案,并获得经过验证和测试的库,将其转换为html。 – jeroen

回答

1

您非常接近工作解决方案。使用完全相同的代码是:

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

您需要使用"\\1"因为"\1"实际上是代表字节0x01一个字符。

另外,关闭h2标签中的/不需要转义。

+0

或者在不需要嵌入php变量时使用单引号。 – HamZa

+0

让我猜测:接下来的问题是:我怎样才能避免匹配'** .... **'里面的文本:) –

+0

为什么关闭h2标签中的/不需要被转义? – Nrc