在編寫php程序時(shí),我們有時(shí)需要將一些特殊字符轉(zhuǎn)換成其相應(yīng)的HTML實(shí)體編碼。這時(shí)候就可以用到php函數(shù)htmlentities。htmlentities是一種內(nèi)置函數(shù),可以將字符串中的特殊符號(hào)轉(zhuǎn)換成HTML實(shí)體編碼。例如,可以將“<”轉(zhuǎn)換成“<”,將“>”轉(zhuǎn)換成“>”,將“&”轉(zhuǎn)換成“&”。
htmlentities的一般語法如下:
其中,$string_to_encode是需要編碼的字符串,編碼后的字符串會(huì)被返回并存儲(chǔ)在$encoded_string中。
使用實(shí)例:
上述代碼輸出將是“PHP是一種編程語言。”,其中“<”被轉(zhuǎn)換成“<”,而“>”被轉(zhuǎn)換成“>”。
htmlentities函數(shù)也支持一些可選的參數(shù),如指定字符串的字符編碼、指定將哪些字符的編碼轉(zhuǎn)換成實(shí)體、以及設(shè)置是否化簡整個(gè)字符串。
語法如下:
htmlentities($string, $flags, $encoding, $double_encode)
$string是指要轉(zhuǎn)換的字符串,$flags是指可選的標(biāo)志參數(shù),常用的標(biāo)志包括ENT_COMPAT、ENT_QUOTES以及ENT_HTML5等。$encoding是指指定字符編碼,$double_encode是一個(gè)布爾值,用來指定是否將以前編碼的實(shí)體編碼還原而不再次編碼。
下面是使用htmlentities轉(zhuǎn)換標(biāo)簽、屬性和腳本的實(shí)例:
Click Here"; echo htmlentities($str); ?>
輸出結(jié)果將為“<a >Click Here</a>”。
alert("Hello World!");'; echo htmlentities($str); ?>
輸出結(jié)果將為“<script>alert("Hello World!");</script>”。
輸出結(jié)果將為“<img src="logo.png" alt="Logo">”。