PHP htmlspecialchars() 函数
实例
将预定义的字符 "<" (小于)和 ">" (大于)转换为 HTML 实体:
<?php $str = "This is some <b>bold</b> text."; echo htmlspecialchars($str); ?>
以上代码的 HTML 输出如下(查看源代码):
<!DOCTYPE html> <html> <body> This is some <b>bold</b> text. </body> </html>
以上代码的浏览器输出:
This is some <b>bold</b> text.
定义和用法
htmlspecialchars() 函数将预定义的字符转换为 HTML 实体。
预定义的字符是:
- & (和号)成为 &
- " (双引号)成为 "
- ' (单引号)成为 '
- < (小于)成为 <
- > (大于)成为 >
提示:如需将特殊的 HTML 实体转换回字符,请使用 htmlspecialchars_decode() 函数。
语法
htmlspecialchars(string,flags,character-set,double_encode)
参数 | 描述 |
---|---|
string | 必需。规定要转换的字符串。 |
flags |
可选。规定如何处理引号、无效的编码以及使用哪种文档类型。 可用的引号类型:
无效的编码:
Tanda ng dagdag na flags na nasaanyo sa gamit na uri ng dokumento:
|
character-set |
Optional. Ang string na nasaanyo ng charset na gagamitin. Pinapayagan na halaga:
Komento:Sa mga bersyon ng PHP bago ang 5.4, ang hindi matukoy na charset ay hindi matutukoy at pinalitan ng ISO-8859-1. Mula sa PHP 5.4, ang hindi matukoy na charset ay hindi matutukoy at pinalitan ng UTF-8. |
double_encode |
Optional. Boolean na nasaanyo kung gagawing encoding ang umiiral na HTML entity.
|
Detalye ng teknolohiya
Halaga ng ibabalik: |
Iibalik ang nabawasan na string. Kung string Kung mayroong walang kahulugan na encoding, ibabalik ang isang walang laman na string, maliban kung ito ay naitala ang mga tanda ng ENT_IGNORE o ENT_SUBSTITUTE. |
Versyon ng PHP: | 4+ |
Talaan ng pagbabago: |
Sa PHP 5,character-set Ang default na halaga ng parameter ay binago sa UTF-8. Sa PHP 5.4, nabigyan ng: ENT_SUBSTITUTE, ENT_DISALLOWED, ENT_HTML401, ENT_HTML5, ENT_XML1 at ENT_XHTML. Sa PHP 5.3, nabigyan ng ENT_IGNORE. Sa PHP 5.2.3, nabigyan ng bagong double_encode 参数。 在 PHP 4.1 中,新增了 character-set 参数。 |
更多实例
例子 1
把一些预定义的字符转换为 HTML 实体:
<?php $str = "Bill & 'Steve'"; echo htmlspecialchars($str, ENT_COMPAT); // 只转换双引号 echo "<br>"; echo htmlspecialchars($str, ENT_QUOTES);// 转换双引号和单引号 echo "<br>"; echo htmlspecialchars($str, ENT_NOQUOTES); // 不转换任何引号 ?>
以上代码的 HTML 输出如下(查看源代码):
<!DOCTYPE html> <html> <body> Bill & 'Steve'<br> Bill & 'Steve'<br> Bill & 'Steve' </body> </html>
以上代码的浏览器输出:
Bill & 'Steve' Bill & 'Steve' Bill & 'Steve'
例子 2
把双引号转换为 HTML 实体:
<?php $str = 'I love "PHP".'; echo htmlspecialchars($str, ENT_QUOTES); // 转换双引号和单引号 ?>
以上代码的 HTML 输出如下(查看源代码):
<!DOCTYPE html> <html> <body> I love "PHP" </body> </html>
以上代码的浏览器输出:
I love "PHP".