事前定義された文字「<」(より小さい) と ">" (より大きい) を HTML エンティティに変換します。
<?php $str = "これは<b>太字</b>のテキストです。 " ; htmlspecialchars ( $ str ) ;上記のコードの HTML 出力は次のとおりです (ソース コードを表示)。
< ! html > <html> < body >これは太字の< b >です。 </html>上記のコードのブラウザ出力は次のとおりです。
これは<b>太字</b>のテキストです。htmlspecialchars() 関数は、一部の事前定義された文字を HTML エンティティに変換します。
事前定義された文字は次のとおりです。
& (アンパサンド) は & になります。
" (二重引用符) は " になります。
' (一重引用符) は ' になります
< (未満) は < になります。
> (より大きい) になる>
ヒント:特殊な HTML エンティティを文字に変換するには、htmlspecialchars_decode() 関数を使用します。
htmlspecialchars( 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 では、文字セットパラメーターのデフォルト値が 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パラメータが追加されました。 |
いくつかの事前定義された文字を HTML エンティティに変換します。
<?php $ str = "ジェーン & 'ターザン' " ; htmlspecialchars ( $str , ENT_COMPAT ) ; //デフォルトでは、二重引用符のみがエンコードされます。エコー" <br> " ; htmlspecialchars ( $str , ENT_QUOTES ) //二重引用符と一重引用符をエンコードします。エコー" <br> " ; htmlspecialchars ( $str , ENT_NOQUOTES ) //引用符はエンコードしません。 ?>上記のコードの HTML 出力は次のとおりです (ソース コードを表示)。
< ! html > <html> <本文>ジェーン& 'ターザン' < br >ジェーン& 'ターザン' < /本文> </html>上記のコードのブラウザ出力は次のとおりです。
ジェーン & 「ターザン」 ジェーン & 「ターザン」 ジェーン & 「ターザン」二重引用符を HTML エンティティに変換します。
<?php $str = '私は「PHP」が大好きです。 ' ; htmlspecialchars ( $str , ENT_QUOTES ) //二重引用符と一重引用符をエンコードします。 ?> ;上記のコードの HTML 出力は次のとおりです (ソース コードを表示)。
< ! html > <html> < body >私は「 PHP 」が大好きです。 </html>上記のコードのブラウザ出力は次のとおりです。
私は「PHP」が大好きです。