ホームページ >バックエンド開発 >PHPチュートリアル >PHPでのhtmlentities()関数の定義と使用法

PHPでのhtmlentities()関数の定義と使用法

墨辰丷
墨辰丷オリジナル
2018-06-02 11:29:531952ブラウズ

この記事では主に PHP の htmlentities() 関数の定義と使い方を紹介します。興味のある方はぜひ参考にしてください。

php htmlentities() 関数は、文字を HTML エンティティに変換します。この記事では、php htmlentities() 関数の基本的な使用法と例を、必要なプログラマーに紹介します。

定義と使用法

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

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

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

構文

htmlentities(string,flags,character-set,double_encode)

パラメータ 説明
文字列 は必須です。変換する文字列を指定します。
フラグ

はオプションです。引用符、無効なエンコーディングの処理方法、および使用する文書タイプを指定します。

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

  • 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

オプション。既存の HTML エンティティをエンコードするかどうかを指定するブール値。

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

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

技術的な詳細

戻り値:

変換された文字列を返します。

文字列に無効なエンコーディングが含まれている場合、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 & &#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>

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

私の名前は?yvind ?sane. I'm Norwegian.

概要: 以上がこの記事の全内容です。皆さんの学習に役立つことを願っています。

関連おすすめ:

PHP+MariaDBデータベース操作の基礎スキルのメモまとめ

phpmysqliデータベースの操作を実現する方法

PHP Alipayの即時支払い機能にアクセスする方法

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

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