php中html_entity_decode實(shí)現(xiàn)HTML實(shí)體轉(zhuǎn)義
最近遇到一個(gè)問題,數(shù)據(jù)中包含中文引號(hào),結(jié)果被轉(zhuǎn)義存儲(chǔ)到數(shù)據(jù)庫,取數(shù)據(jù)的時(shí)候用了htmlspecialchars_decode把實(shí)體轉(zhuǎn)義回去,結(jié)果發(fā)現(xiàn)并沒有生效,看了一下htmlspecialchars_decode只支持5個(gè)指定的實(shí)體轉(zhuǎn)換,其他的[我遇到的是中文引號(hào)&ldrquo;]
因此發(fā)現(xiàn)了html_entity_decode可以把所有的實(shí)體轉(zhuǎn)義回去~
另外,如果你在瀏覽器中測試,會(huì)發(fā)現(xiàn)是轉(zhuǎn)義回去的,這是因?yàn)闉g覽器自動(dòng)給處理了。實(shí)際上是沒有轉(zhuǎn)回去的,可以到命令行試試哦~~
html_entity_decode:把所有的html實(shí)體轉(zhuǎn)換為原來的字符
與htmlentities() 相反
更準(zhǔn)確地說,這個(gè)函數(shù)解碼所有的實(shí)體(包括所有的數(shù)字實(shí)體):a)對(duì)于所選擇的文檔類型必須是有效的 - 即對(duì)于XML,這個(gè)函數(shù)不解碼可能在某些DTD中定義的命名實(shí)體 - 以及b) 其中的字符或字符位于與所選編碼相關(guān)聯(lián)的編碼字符集中并且在所選文檔類型中被允許。 所有其他實(shí)體保持原樣。
htmlspecialchars_decode:將特殊的 HTML 實(shí)體轉(zhuǎn)換回普通字符
此函數(shù)的作用和 htmlspecialchars() 剛好相反。它將特殊的HTML實(shí)體轉(zhuǎn)換回普通字符。
被轉(zhuǎn)換的實(shí)體有: &, " (沒有設(shè)置ENT_NOQUOTES 時(shí)), ' (設(shè)置了 ENT_QUOTES 時(shí)), < 以及>。
所以并不能把不包含在以上5個(gè)的其他轉(zhuǎn)換回去。
實(shí)例
把 HTML 實(shí)體轉(zhuǎn)換為字符:
<?php $str = "<© W3CSçh°°¦§>"; echo html_entity_decode($str); ?>
上面代碼的 HTML 輸出如下(查看源代碼):
<!DOCTYPE html> <html> <body> <© W3CSçh°°¦§> </body> </html>
上面代碼的瀏覽器輸出如下:
<© W3CSçh°°¦§>
- IdentityServer4 QuckStart 授權(quán)與自定義Claims的問題
- IdentityServer4實(shí)現(xiàn).Net Core API接口權(quán)限認(rèn)證(快速入門)
- JPA中EntityListeners注解的使用詳解
- EF(EntityFramework) 插入或更新數(shù)據(jù)報(bào)錯(cuò)的解決方法
- 詳解ASP.NET中Identity的身份驗(yàn)證代碼
- c# 使用Entity Framework操作Access數(shù)據(jù)庫的示例
- Idea自動(dòng)生成Entity實(shí)現(xiàn)過程詳解
相關(guān)文章
php設(shè)計(jì)模式 Composite (組合模式)
將對(duì)象組合成樹形結(jié)構(gòu)以表示"部分-整體"的層次結(jié)構(gòu),使得客戶對(duì)單個(gè)對(duì)象和復(fù)合對(duì)象的使用具有一致性2011-06-06php構(gòu)造方法中析構(gòu)方法在繼承中的表現(xiàn)
這篇文章主要為大家詳細(xì)介紹了php構(gòu)造方法中析構(gòu)方法在繼承中的表現(xiàn),感興趣的小伙伴們可以參考一下2016-04-04yii2項(xiàng)目實(shí)戰(zhàn)之restful api授權(quán)驗(yàn)證詳解
這篇文章主要給大家介紹了關(guān)于yii2項(xiàng)目實(shí)戰(zhàn)之restful api授權(quán)驗(yàn)證的相關(guān)資料,文中介紹的非常詳細(xì),對(duì)大家具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起看看吧。2017-05-05PHP函數(shù)spl_autoload_register()用法和__autoload()介紹
又是框架沖突導(dǎo)致__autoload()失效,用spl_autoload_register()重構(gòu)一下,問題解決2012-02-02解析posix與perl標(biāo)準(zhǔn)的正則表達(dá)式區(qū)別
本篇文章是對(duì)posix與perl標(biāo)準(zhǔn)的正則表達(dá)式區(qū)別進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06