我最近一直在重写我的网站,并添加了一个语法高亮笔,这样我就可以发布代码片段。以前,我所做的就是htmlentities()字符串,这样它就会安全并且不会破坏任何东西,但是现在我必须使用<pre>来突出显示代码,htmlentites()有效地删除了页面中的语法突出显示。我一直在尝试想出一个函数,只对两个标签(<entitiesparse>,</entitiesparse>)之间的任何一个标签执行一次htmlentites(),但似乎都不起作用。有没有人知道一个函数,我可以:
a)将其设置为htmlentities()除特定标签之外的所有内容(如strip_tags())
或
b)仅htmlentities()某些标签中的内容(如上所述)
发布于 2012-07-30 04:50:47
您只需要将htmlentities()应用于原始内容。因此,您可以将htmlentities()应用于原始内容(文章文本),然后调用一个函数在此之后添加语法突出显示。只要检查语法突出显示的代码不会引入意想不到的麻烦,就不需要再次调用htmlentities()。
如果您说使用a元素来突出显示代码,我强烈建议您使用code元素,该元素旨在为编程代码行或块提供标记。a元素只能用作超链接的锚点。
例如,您可以使用
<code class="highlighted-code">/* line of code here /*</code>然后,您可以使用级联样式表为类等于“code -code”的任何类型的元素提供背景颜色,例如:
code.highlighted-code {background-color: yellow}https://stackoverflow.com/questions/11712716
复制相似问题