ホームページ > バックエンド開発 > PHPチュートリアル > バックスラッシュ処理関数のaddslashes()やstripslashes()などのPHP特殊文字の使用

バックスラッシュ処理関数のaddslashes()やstripslashes()などのPHP特殊文字の使用

WBOY
リリース: 2016-06-20 13:03:20
オリジナル
1222 人が閲覧しました

PHP 独自のライブラリ関数 addslashes() とtripslashes() はどちらも文字列処理関数であり、まったく逆の効果があります。

addslashes(): 入力文字列内の特定の定義済み文字の前にバックスラッシュを追加します。この処理は、データベース クエリ ステートメントなどのニーズに対応します。これらの事前定義された文字は、一重引用符 (')、二重引用符 (")、バックスラッシュ ()、NULL です。

stripslashes():addslashes() 関数によって追加されたバックスラッシュを削除します。この関数は、データベースまたは HTML フォームから取得したデータをクリーンアップするために使用されます。 (バックスラッシュが 2 つ連続している場合は、1 つを削除して 1 つを残します。バックスラッシュが 1 つしかない場合は、直接削除します。)

追記: デフォルトでは、PHP 命令の magic_quotes_gpc がオンになっており、すべての GET、POST、COOKIE データに対して addslashes() が自動的に実行されます。 magic_quotes_gpc によってエスケープされた文字列に対して addslashes() を使用しないでください。二重エスケープが発生するためです。この状況が発生した場合は、関数 get_magic_quotes_gpc() を使用して検出できます。例:

if (get_magic_quotes_gpc()){
      code....
}
ログイン後にコピー

addslashes() 例:

<?php
$str = "Who&#39;s John Adams?";
echo $str . " This is not safe in a database query.<br />";
echo addslashes($str) . " This is safe in a database query.";
?>
ログイン後にコピー

出力:

John Adams とは何ですか? これはデータベース クエリでは安全ではありません。
John Adams とは何ですか? これはデータベース クエリでは安全です。

stripslashes() 例:

<?php
echo stripslashes("Who\&#39;s John Adams?");
?>
ログイン後にコピー

出力:

ジョン・アダムスとは?


関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート