1.htmlspecialchars($string, $flag)
(Convert special characters to HTML entities 轉換特殊字符爲HTML實體)php
預約義的字符是: & (和號)成爲 & " (雙引號)成爲 " ' (單引號)成爲 ' < (小於)成爲 < > (大於)成爲 >
$flag 默認爲ENT_COMPAT | ENT_HTML401
html
常量名 | 描述 |
---|---|
ENT_COMPAT | 轉換雙引號,不轉換單引號。 |
ENT_QUOTES | 單引號和雙引號都轉換。 |
ENT_NOQUOTES | 單引號和雙引號都不轉換。 |
ENT_HTML401 | 做爲HTML 4.01編碼處理。 |
ENT_XML1 | 做爲XML 1編碼處理。 |
ENT_XHTML | 做爲XHTML編碼處理。 |
ENT_HTML5 | 做爲HTML 5編碼處理。 |
EXP: 函數
$str = '"2015競賽&"'; echo htmlspecialchars($str); //"2015競賽&"quot;
2.htmlspecialchars_decode($string, $flag)
(與上面相反,將特殊的 HTML 實體轉換回普通字符)測試
EXP this
$str = "<p>this -> "</p>\n" ; echo htmlspecial_decode($str); // this -> " /*不轉換雙引號*/ echo htmlspecial_decode($str, ENT_NOQUOTES); // this -> "
3. htmlentities 編碼
`htmlentities($string, $flag)` 這個函數與htmlspecialchars的區別網上教程說是也會轉換中文,可是我本地php5.5測試兩個效果同樣
$str='<a href="test.html">測試頁面</a>'; echo htmlentities($str); $str='<a href="test.html">測試頁面</a>'; echo htmlspecialchars($str);
4. html_entity_decode unix
是`htmlentities`的反函數
5.nl2brcode
轉換換行符(\n(unix), \r(Mac), \r\n(Win))爲`<br>`