コース推薦:
PHP htmlentities()関数
把字符转换为 HTML 实体:
<?php 例 $str = "<? W3S?h????>"; ?>
以上のコードの HTML 出力は以下の通りです(ソースコードを確認):
<!DOCTYPE html> <html> <body> echo htmlentities($str); </body> </html>
以上のコードのブラウザ出力は以下の通りです:
<© W3Sçh°°¦§>
<? W3S?h????>
定義と用法
ヒント:htmlentities()関数を使用して、文字をHTMLエンティティに変換します。 html_entity_decode()関数を使用して、HTMLエンティティを文字に戻します。 関数。
ヒント:使用してください。 get_html_translation_table() get_html_translation_table()関数を使用して、htmlentities()が使用する翻訳テーブルを返す関数。
文法
htmlentities(string,flags,character-set,double_encode)
パラメータ | 説明 |
---|---|
string | 必須。変換する文字列を定義します。 |
flags |
選択可能。引号の処理方法、無効なエンコードの処理方法、使用するドキュメントタイプを定義します。 利用可能な引用符の種類:
無効なエンコード:
使用するドキュメントタイプの追加フラグを定義します:
|
character-set |
選択可能。使用する文字集合を定義する文字列。 許可値:
注释:在 PHP 5.4 之前的版本,无法被识别的字符集将被忽略并由 ISO-8859-1 替代。自 PHP 5.4 起,无法被识别的字符集将被忽略并由 UTF-8 替代。 |
double_encode |
可选。布尔值,规定是否编码已存在的 HTML 实体。
|
技术细节
返回值: |
返回被转换的字符串。 如果 string 包含无效的编码,则返回一个空的字符串,除非设置了 ENT_IGNORE 或者 ENT_SUBSTITUTE 标志。 |
PHP 版本: | 4+ |
更新日志: |
在 PHP 5 中,character-set 参数的默认值改为 UTF-8。 在 PHP 5.4 中,新增了:ENT_SUBSTITUTE、ENT_DISALLOWED、ENT_HTML401、ENT_HTML5、ENT_XML1 和 ENT_XHTML。 在 PHP 5.3 中,新增了 ENT_IGNORE。 在 PHP 5.2.3 中,新增了 double_encode 参数。 在 PHP 4.1 中,新增了 character-set 参数。 |
更多实例
例子 1
把字符转换为 HTML 实体:
<?php $str = "Bill & 'Steve'"; echo htmlentities($str, ENT_COMPAT); // 只转换双引号 echo "<br>"; echo htmlentities($str, ENT_QUOTES); // 转换双引号和单引号 echo "<br>"; echo htmlentities($str, ENT_NOQUOTES); // 任何引号不转换 ?>
以上のコードの HTML 出力は以下の通りです(ソースコードを確認):
<!DOCTYPE html> <html> <body> Bill & 'Steve'<br> Bill & 'Tarzan'<br> Bill & 'Steve' </body> </html>
以上のコードのブラウザ出力は以下の通りです:
Bill & 'Steve' Bill & 'Steve' Bill & 'Steve'
例 2
西欧の文字セットを使用して、一部の文字を HTML 実体に変換します:
<?php $str = "私の名前はØyvind Øsaneです。ノルウェイ人です."; echo htmlentities($str, ENT_QUOTES, "ISO-8859-1"); // 双重引用符のみを変換し(単一引用符は変換しません)、西欧の文字セットを使用します ?>
以上のコードの HTML 出力は以下の通りです(ソースコードを確認):
<!DOCTYPE html> <html> <body> 私の名前はØyvind Øsaneです。ノルウェイ人です。 </body> </html>
以上のコードのブラウザ出力は以下の通りです:
私の名前はØyvind Øsaneです。ノルウェイ人です。