ホームページ  >  記事  >  バックエンド開発  >  phpのhtmlentities()関数の定義と使い方について

phpのhtmlentities()関数の定義と使い方について

不言
不言オリジナル
2018-07-03 15:37:182067ブラウズ

以下は、php htmlentities() 関数の定義と使用法に関する記事です。とても良い内容でしたので、参考にさせていただきたいと思います。

php htmlentities() 関数は、文字を HTML エンティティに変換します。この記事では、php htmlentities() 関数の基本的な使用法と例をコーダー向けに紹介します。必要なコーダーは参照してください。

定義と使用法

htmlentities() 関数は、文字を HTML エンティティに変換します。

ヒント: HTML エンティティを文字に変換するには、html_entity_decode() 関数を使用します。

ヒント: htmlentities() で使用される変換テーブルを返すには、get_html_translation_table() 関数を使用してください。

文法

htmlentities(文字列、フラグ、文字セット、double_encode)

#フラグ#character-set オプション。使用する文字セットを指定する文字列。 オプション。既存の HTML エンティティをエンコードするかどうかを指定するブール値。
パラメータ 説明
文字列 必須。変換する文字列を指定します。
オプション。引用符、無効なエンコーディングの処理方法、および使用する文書タイプを指定します。

利用可能な見積もりタイプ:

  • ENT_COMPAT - デフォルト。二重引用符のみがエンコードされます。

  • ENT_QUOTES - 二重引用符と一重引用符をエンコードします。

  • ENT_NOQUOTES - 引用符をエンコードしません。

無効なエンコーディング:

  • ENT_IGNORE - 関数が空の文字列を返す代わりに、無効なエンコーディングを無視します。セキュリティに影響を与える可能性があるため、これは避けてください。

  • ENT_SUBSTITUTE - 空の文字列を返す代わりに、指定された文字による無効なエンコードを Unicode 置換文字 U FFFD (UTF-8) または FFFD に置き換えます。

  • ENT_DISALLOWED - 指定されたドキュメント タイプ内の無効なコード ポイントを Unicode 置換文字 U FFFD (UTF-8) または FFFD; に置き換えます。

使用するドキュメント タイプを指定する追加のフラグ:

  • ENT_HTML401 - デフォルト。コードは HTML 4.01 として処理されます。

  • ENT_HTML5 - コードを HTML 5 として処理します。

  • ENT_XML1 - XML 1 処理コードとして。

  • ENT_XHTML - コードを XHTML として処理します。

許可される値:

    UTF-8 - デフォルト。 ASCII 互換マルチバイト 8 ビット Unicode
  • ##ISO-8859-1 - 西ヨーロッパ
  • ISO-8859-15 - 西ヨーロッパ (参加中)シンボル ISO-8859-1) にユーロフランス語とフィンランド語の文字が欠落しています)
  • cp866 - DOS 固有のキリル文字セット
  • cp1251 - Windows - 固有のキリル文字セット
  • cp1252 - Windows 固有の西ヨーロッパ文字セット
  • KOI8-R - ロシア語
  • BIG5 - 主に台湾で使用される繁体字中国語
  • GB2312 - 簡体字中国語、国家標準文字セット
  • BIG5-HKSCS - 香港拡張 Big5
  • Shift_JIS - 日本語
  • EUC-JP - 日本語
  • MacRoman - Mac 操作 システムで使用される文字セット
  • 注: PHP 5.4 より前のバージョンでは、認識されない文字セットは無視され、ISO-8859-1 に置き換えられます。 PHP 5.4 では、認識されない文字セットは無視され、UTF-8 に置き換えられます。

#double_encode
#TRUE - デフォルト。各エンティティが変換されます。

  • FALSE - 既存の HTML エンティティはエンコードされません。

技術的な詳細

戻り値:

変換された文字列を返します。 4 変更ログ: In PHP 5 では、character-set
文字列に無効なエンコードが含まれている場合、ENT_IGNORE または ENT_SUBSTITUTE フラグが設定されていない限り、空の文字列が返されます。

PHP バージョン:

パラメータのデフォルト値が 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 & &#39;Steve&#39;"; 
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 & &#39;Steve&#39;<br> 
Bill & &#39;Tarzan&#39;<br> 
Bill & &#39;Steve&#39;
</body> 
</html>

上記コードのブラウザ出力:

Bill & &#39;Steve&#39;
Bill & &#39;Steve&#39;
Bill & &#39;Steve&#39;

例 2

西ヨーロッパ文字セットを使用して、一部の文字を HTML エンティティに変換します:

<?php 
$str = "My name is ?yvind ?sane. I&#39;m Norwegian."; 
echo htmlentities($str, ENT_QUOTES, "ISO-8859-1"); 
// Will only convert double quotes (not single quotes), and uses the character-set Western European 
?>

上記のコード HTML 出力は次のとおりです (ソース コードを表示):

<!DOCTYPE html> 
<html> 
<body> 
My name is Øyvind Åsane. I&#39;m Norwegian. 
</body> 
</html>

上記のコードのブラウザ出力は次のとおりです:

My name is ?yvind ?sane. I'm Norwegian.

上記がこの記事の全内容です。皆様の学習に役立つことを願っています。その他の関連コンテンツについては、次の点にご注意ください。 PHP中国語ウェブサイトです!

関連する推奨事項:

#openssl を使用して PHP7.1 の mcrypt を置き換える方法の概要

#PHP zip 圧縮パッケージの操作についてクラスへ

#

以上がphpのhtmlentities()関数の定義と使い方についての詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。