2012-07-29 46 views
0

我最近一直在重写我的网站,并添加了一个Syntax荧光笔,以便我可以发布代码片段。在此之前,我所做的全部是htmlentities()这个字符串,因此它是安全的并且不会破坏任何内容,但现在我必须使用<pre>来突出显示代码,htmlentites()可以有效地从页面中删除语法突出显示。我一直在试图想出一个函数,它会在两个标签之间的任何东西上执行htmlentites()<entitiesparse></entitiesparse>),但似乎没有任何效果。有谁知道一个功能,我可以的:PHP:htmlentities/strip_tags

一)将其设置为htmlentities()一切,但具体的标签(如strip_tags()

OR

二)在某些标签只有htmlentities()的东西(如上面所提到)

回答

0

您只需要将htmlentities()应用于原始内容。因此,您可以将htmlentities()应用于原始内容(文章文本),然后调用函数以添加语法突出显示。只要你检查你的语法高亮代码不能引入意外的错误,你不需要再次调用htmlentities()

如果您说您使用a元素突出显示代码,我强烈建议您使用code元素,而不是为编程代码的行或块提供标记。 a元素只能用作超链接的锚点。

例如,可以使用

<code class="highlighted-code">/* line of code here /*</code> 

然后,你可以使用一个级联样式表,以提供背景颜色code类型的任何元件相类等于“突出显示的代码”,例如:

code.highlighted-code {background-color: yellow}