ホームページ  >  記事  >  毎日のプログラミング  >  PHPで文字列をエスケープして復元するにはどうすればよいですか? (写真 + ビデオ)

PHPで文字列をエスケープして復元するにはどうすればよいですか? (写真 + ビデオ)

藏色散人
藏色散人オリジナル
2018-10-10 13:56:255456ブラウズ

この記事では、PHP で文字列データをエスケープして復元する具体的な方法を中心に紹介します。

まず、誰もが簡単に理解できるように、

エスケープ文字とは何ですか? 何の役に立つのですか? エスケープ文字は特殊文字定数です。エスケープ文字はバックスラッシュ「\」で始まり、その後に 1 つ以上の文字が続きます。エスケープ文字は、文字の本来の意味とは異なる特定の意味を持つため、「エスケープ」文字と呼ばれます。

エスケープ文字の使用

: 1: 通常の文字を、戻るキー、エンター キーなどの特殊な用途に変換します。

2: 特殊な意味の文字を元の意味に変換するために使用されます。

3: データがデータベースに書き込まれる前に、エスケープ文字 (関数) を使用して一部の機密文字をエスケープします。 Web サイト インジェクション攻撃を回避します。


PHP 開発プロジェクト中に、大量のデータのエスケープが必要な操作に遭遇することがあります。

以下では、PHP で文字列をエスケープおよび復元する方法を、簡単なコード例を通して紹介します。

1. 関数を使用して文字列をエスケープする例:

<?php
$str = "[&#39;name&#39;=>&#39;张三&#39;,&#39;age&#39;=>19]";
echo $str . "<br>";
//对字符串进行转义
$a = addslashes($str);
//输出转义后的字符串
echo $a . "<br>";

addslashes 関数: 文字列を引用符で囲むにはバックスラッシュを使用します。

パラメータはエスケープする文字データを表します

戻り値はエスケープ文字です。 上記のコードでは、配列変数 $str を定義し、二重一重引用符を使用してそれを表現し、PHP の addslashes 関数を使用してエスケープしています。ここで、二重引用符を 4 つ使用できないことに注意する必要があります。二重引用符を使用すると、システムが文字列の先頭と末尾を解析できなくなり、エラーが発生します。

次にブラウザからアクセスし、文字列データをエスケープした結果は以下のようになります。

PHPで文字列をエスケープして復元するにはどうすればよいですか? (写真 + ビデオ)

2. 関数の使用文字列を復元する 例:

<?php
$str = "[&#39;name&#39;=>&#39;张三&#39;,&#39;age&#39;=>19]";
echo $str . "<br>";
//对字符串进行转义
$a = addslashes($str);
//输出转义后的字符串
echo $a . "<br>";
//对转义后的字符串进行还原
$b = stripslashes($a);
//输出还原后的字符串
echo $b . "
";

stripslashes 関数: 引用符で囲まれた文字列をデク​​ォートします。

戻り値は、エスケープされたバックスラッシュのない文字列です (\' は ' に変換されます)。二重バックスラッシュ (\\) は単一バックスラッシュ (\) に変換されます。

ここでは主に、stripslashes 関数を使用して、エスケープされた文字列を復元します。

ブラウザからアクセスした結果は以下の通りです。

PHPで文字列をエスケープして復元するにはどうすればよいですか? (写真 + ビデオ)
PHP で文字列データをエスケープして復元する具体的な方法についての記事です。困っている人たちを助けられることを願っています!

PHP の知識ポイントについてさらに詳しく知りたい場合は、PHP 中国語 Web サイト

PHP ビデオ チュートリアル

を参照して学習してください。

以上がPHPで文字列をエスケープして復元するにはどうすればよいですか? (写真 + ビデオ)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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