在php中用html_entity_decode實現HTML實體轉義

來源:互聯網
上載者:User
這篇文章主要介紹了php中html_entity_decode實現HTML實體轉義的相關資料,需要的朋友可以參考下

最近遇到一個問題,資料中包含中文引號,結果被轉義儲存到資料庫,取資料的時候用了htmlspecialchars_decode把實體轉義回去,結果發現並沒有生效,看了一下htmlspecialchars_decode只支援5個指定的實體轉換,其他的[我遇到的是中文引號&ldrquo;]

因此發現了html_entity_decode可以把所有的實體轉義回去~

另外,如果你在瀏覽器中測試,會發現是轉義回去的,這是因為瀏覽器自動給處理了。實際上是沒有轉回去的,可以到命令列試試哦~~

html_entity_decode:把所有的html實體轉換為原來的字元

與htmlentities() 相反

更準確地說,這個函數解碼所有的實體(包括所有的數字實體):a)對於所選擇的文件類型必須是有效 - 即對於XML,這個函數不解碼可能在某些DTD中定義的具名實體 - 以及b) 其中的字元或字元位於與所選編碼相關聯的編碼字元集中並且在所選文件類型中被允許。 所有其他實體保持原樣。

htmlspecialchars_decode:將特殊的 HTML 實體轉換回一般字元

此函數的作用和 htmlspecialchars() 剛好相反。它將特殊的HTML實體轉換回一般字元。

被轉換的實體有: &, " (沒有設定ENT_NOQUOTES 時), ' (設定了 ENT_QUOTES 時), < 以及>。

所以並不能把不包含在以上5個的其他轉換回去。

執行個體

把 HTML 實體轉換為字元:

<?php$str = "< W3CSçh°°¦§>";echo html_entity_decode($str);?>

上面代碼的 HTML 輸出如下(查看原始碼):

<!DOCTYPE html><html><body>< W3CSçh°°¦§></body></html>

上面代碼的瀏覽器輸出如下:

< W3CSçh°°¦§>

以上就是本文的全部內容,希望對大家的學習有所協助,更多相關內容請關注topic.alibabacloud.com!

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.