phpエスケープ文字エスケープ(文字をhtmlエンティティに変換)
1877 ワード
データベースを挿入する前にユーザが入力したコンテンツをエスケープする(sql注入防止)
定義と使用法
htmlspecialchars()関数は、いくつかの事前定義された文字をHTMLエンティティに変換します.
定義済みの文字は次のとおりです.&(和号)は& となります"(二重引用符)は" となる'(一重引用符)は' となります.<(より小さい)は< となる>(より大きい)は> となる
構文
パラメータ
説明
string
必要です.変換する文字列を指定します.
quotestyle
オプション.単一引用符と二重引用符の符号化方法を指定します. ENT_COMPAT-デフォルト.二重引用符のみをエンコードします. ENT_QUOTES-二重引用符と一重引用符をエンコードします. ENT_NOQUOTES-引用符は符号化されません.
character-set
オプション.文字列の値.使用する文字セットを指定します. ISO-8859-1-デフォルト.西欧. ISO-8859-15-西欧(Euro記号およびフランス語、フィンランド語アルファベットを追加). UTF-8-ASCII互換マルチバイト8ビットUnicode cp 866-DOS専用Cyrillic文字セット cp 1251-Windows専用Cyrillic文字セット cp 1252-Windows専用西欧文字セット KOI 8-R-ロシア語 GB 2312-簡体字中国語、国家標準文字セット BIG 5-繁体字中国語 BIG 5-HKSCS-Big 5香港拡張 Shift_JIS-日本語 EUC-JP-日本語 ヒントとコメント
ヒント:認識できない文字セットは無視され、ISO-8859-1に置き換えられます.
例
ブラウザ出力:
ブラウザでソースコードを表示すると、次のHTMLが表示されます.
定義と使用法
htmlspecialchars()関数は、いくつかの事前定義された文字をHTMLエンティティに変換します.
定義済みの文字は次のとおりです.
構文
htmlspecialchars(string,quotestyle,character-set)
パラメータ
説明
string
必要です.変換する文字列を指定します.
quotestyle
オプション.単一引用符と二重引用符の符号化方法を指定します.
character-set
オプション.文字列の値.使用する文字セットを指定します.
ヒント:認識できない文字セットは無視され、ISO-8859-1に置き換えられます.
例
<html>
<body>
<?php
$str = "John & 'Adams'";
echo htmlspecialchars($str, ENT_COMPAT);
echo "<br />";
echo htmlspecialchars($str, ENT_QUOTES);
echo "<br />";
echo htmlspecialchars($str, ENT_NOQUOTES);
?>
</body>
</html>
ブラウザ出力:
John & 'Adams'
John & 'Adams'
John & 'Adams'
ブラウザでソースコードを表示すると、次のHTMLが表示されます.
<html>
<body>
John & 'Adams'<br />
John & 'Adams'<br />
John & 'Adams'
</body>
</html>