2012-07-29 23 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}