PHP/不等号やアンパサンドなどのエスケープ関数・htmlspecialchars
の編集
Top
/
PHP
/
不等号やアンパサンドなどのエスケープ関数・htmlspecialchars
[
トップ
] [
編集
|
差分
|
バックアップ
|
添付
|
リロード
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
]
-- 雛形とするページ --
(no template pages)
#navi(../) * 不等号<>、アンパサンド、ダブルクォーテーション、シングルクォーテーションのエスケープ方法 [#uf5f8802] HTMLでは、不等号<>やアンパサンドは特別な意味を持ちます。~ 通常、以下のようにエスケープしてHTML上に記述します。 - PHP Manual: htmlspecialchars~ http://php.net/manual/ja/function.htmlspecialchars.php |文字|エスケープ| |<|&lt;| |>|&gt;| |&|&amp;| このようにエスケープ(変換)してくれる関数がhtmlspecialcharsになります。 #contents #htmlinsertpcsp(web-top.html,web-sp.html) * htmlspecialcharsがエスケープする文字 [#kacd1fb6] htmlspecialchars関数を使うと以下の文字がエスケープ(変換)されます。 |文字|エスケープ|補足| |<|&lt;| | |>|&gt;| | |&|&amp;| | |"|&quot;|フラグによりエスケープするしないを制御| |'|&#039|フラグによりエスケープするしないを制御| * htmlspecialcharsサンプルソースコード [#zb138ca7] 上記の文字がエスケープされることを確認するサンプルコードです。 #ref(htmlspecialchars.php) <?php echo 'htmlspecialchars("<") = ' . "\t" . htmlspecialchars("<") . PHP_EOL; echo 'htmlspecialchars(">") = ' . "\t" . htmlspecialchars(">") . PHP_EOL; echo 'htmlspecialchars("&") = ' . "\t" . htmlspecialchars("&") . PHP_EOL; echo "htmlspecialchars('\"') = " . "\t" . htmlspecialchars('"') . PHP_EOL; echo 'htmlspecialchars("\'") = ' . "\t" . htmlspecialchars("'") . PHP_EOL; echo "htmlspecialchars('\"', ENT_NOQUOTES) = " . "\t" . htmlspecialchars('"', ENT_NOQUOTES) . PHP_EOL; echo 'htmlspecialchars("\'", ENT_NOQUOTES) = ' . "\t" . htmlspecialchars("'", ENT_NOQUOTES) . PHP_EOL; echo "htmlspecialchars('\"', ENT_QUOTES) = " . "\t" . htmlspecialchars('"', ENT_QUOTES) . PHP_EOL; echo 'htmlspecialchars("\'", ENT_QUOTES) = ' . "\t" . htmlspecialchars("'", ENT_QUOTES) . PHP_EOL; echo "htmlspecialchars('\"', ENT_COMPAT) = " . "\t" . htmlspecialchars('"', ENT_COMPAT) . PHP_EOL; echo 'htmlspecialchars("\'", ENT_COMPAT) = ' . "\t" . htmlspecialchars("'", ENT_COMPAT) . PHP_EOL; ?> * 実行結果 [#c4a3876d] 上記スクリプトの実行結果を以下に記します。~ 尚、本スクリプトは端末から実行しました。 $ php htmlspecialchars.php htmlspecialchars("<") = < htmlspecialchars(">") = > htmlspecialchars("&") = & htmlspecialchars('"') = " htmlspecialchars("'") = ' htmlspecialchars('"', ENT_NOQUOTES) = " htmlspecialchars("'", ENT_NOQUOTES) = ' htmlspecialchars('"', ENT_QUOTES) = " htmlspecialchars("'", ENT_QUOTES) = ' htmlspecialchars('"', ENT_COMPAT) = " htmlspecialchars("'", ENT_COMPAT) = ' ENT_NOQUOTES, ENT_QUOTES, ENT_COMPATによる動作の違いも出力されています。 #htmlinsertpcsp(web-btm.html,web-sp.html)
タイムスタンプを変更しない
#navi(../) * 不等号<>、アンパサンド、ダブルクォーテーション、シングルクォーテーションのエスケープ方法 [#uf5f8802] HTMLでは、不等号<>やアンパサンドは特別な意味を持ちます。~ 通常、以下のようにエスケープしてHTML上に記述します。 - PHP Manual: htmlspecialchars~ http://php.net/manual/ja/function.htmlspecialchars.php |文字|エスケープ| |<|&lt;| |>|&gt;| |&|&amp;| このようにエスケープ(変換)してくれる関数がhtmlspecialcharsになります。 #contents #htmlinsertpcsp(web-top.html,web-sp.html) * htmlspecialcharsがエスケープする文字 [#kacd1fb6] htmlspecialchars関数を使うと以下の文字がエスケープ(変換)されます。 |文字|エスケープ|補足| |<|&lt;| | |>|&gt;| | |&|&amp;| | |"|&quot;|フラグによりエスケープするしないを制御| |'|&#039|フラグによりエスケープするしないを制御| * htmlspecialcharsサンプルソースコード [#zb138ca7] 上記の文字がエスケープされることを確認するサンプルコードです。 #ref(htmlspecialchars.php) <?php echo 'htmlspecialchars("<") = ' . "\t" . htmlspecialchars("<") . PHP_EOL; echo 'htmlspecialchars(">") = ' . "\t" . htmlspecialchars(">") . PHP_EOL; echo 'htmlspecialchars("&") = ' . "\t" . htmlspecialchars("&") . PHP_EOL; echo "htmlspecialchars('\"') = " . "\t" . htmlspecialchars('"') . PHP_EOL; echo 'htmlspecialchars("\'") = ' . "\t" . htmlspecialchars("'") . PHP_EOL; echo "htmlspecialchars('\"', ENT_NOQUOTES) = " . "\t" . htmlspecialchars('"', ENT_NOQUOTES) . PHP_EOL; echo 'htmlspecialchars("\'", ENT_NOQUOTES) = ' . "\t" . htmlspecialchars("'", ENT_NOQUOTES) . PHP_EOL; echo "htmlspecialchars('\"', ENT_QUOTES) = " . "\t" . htmlspecialchars('"', ENT_QUOTES) . PHP_EOL; echo 'htmlspecialchars("\'", ENT_QUOTES) = ' . "\t" . htmlspecialchars("'", ENT_QUOTES) . PHP_EOL; echo "htmlspecialchars('\"', ENT_COMPAT) = " . "\t" . htmlspecialchars('"', ENT_COMPAT) . PHP_EOL; echo 'htmlspecialchars("\'", ENT_COMPAT) = ' . "\t" . htmlspecialchars("'", ENT_COMPAT) . PHP_EOL; ?> * 実行結果 [#c4a3876d] 上記スクリプトの実行結果を以下に記します。~ 尚、本スクリプトは端末から実行しました。 $ php htmlspecialchars.php htmlspecialchars("<") = < htmlspecialchars(">") = > htmlspecialchars("&") = & htmlspecialchars('"') = " htmlspecialchars("'") = ' htmlspecialchars('"', ENT_NOQUOTES) = " htmlspecialchars("'", ENT_NOQUOTES) = ' htmlspecialchars('"', ENT_QUOTES) = " htmlspecialchars("'", ENT_QUOTES) = ' htmlspecialchars('"', ENT_COMPAT) = " htmlspecialchars("'", ENT_COMPAT) = ' ENT_NOQUOTES, ENT_QUOTES, ENT_COMPATによる動作の違いも出力されています。 #htmlinsertpcsp(web-btm.html,web-sp.html)
テキスト整形のルールを表示する
添付ファイル:
htmlspecialchars.php
778件
[
詳細
]