ホームページ  >  記事  >  バックエンド開発  >  PHP でエスケープされた文字列を復元する方法と復元 (詳細な例)

PHP でエスケープされた文字列を復元する方法と復元 (詳細な例)

WBOY
WBOYオリジナル
2021-11-04 14:07:276162ブラウズ

前回の記事「PHP での JSON エンコードとデコード (詳細な例)」では、PHP での配列と文字列の JSON エンコードとデコードに関する知識を詳しく紹介しました。 PHP での文字エスケープに関する関連知識を見てみましょう。皆さんのお役に立てれば幸いです。

PHP でエスケープされた文字列を復元する方法と復元 (詳細な例)

前の記事では、PHP データが json_encode() 関数と json_decode() を通じて処理できることを学びました。 function エンコードとデコード、PHP で文字列をエスケープする方法を見てみましょう。

PHP 開発プロジェクトでは、多くの文字列エスケープ操作に遭遇することがありますが、このとき文字列をエスケープするにはどうすればよいでしょうか? PHP では、文字をエスケープしたり、自動エスケープ関数を実行して動作させることができます。一緒に見てみましょう。

エスケープ文字 - 文字列を手動でエスケープする

前の記事では、エスケープ文字について紹介しました。エスケープ効果を実行できるエスケープ文字は通常、バックスラッシュ「\」で始まり、その後に 1 つ以上の文字が続きます。この場合、エスケープ文字はエスケープできる意味があります。簡単に言えば、エスケープ文字は特殊文字定数として扱われます。

エスケープ文字は、通常の文字を特別な目的に変換し、これらの特別な目的を使用して文字を元の意味に変換できます。

エスケープ文字を使用して文字列を変換する場合は、文字列が一重引用符または二重引用符を使用して定義されていることに注意してください。文字列内に文字列の定義を妨げる可能性のある文字がある場合は、 , このとき、ego の定義の曖昧さを避けるために、文字列内の干渉する可能性のある文字をエスケープする必要があります。

次に、例を通して文字をエスケープすることで文字列をエスケープする方法を見てみましょう。例は次のとおりです:

出力したい場合: URL は: 'https:// www.php.cn/'、単純に echo を使用して文字列を出力すると、その文字列が最終的な出力結果に影響を及ぼし、エラーが発生する可能性があります。このとき、エスケープ文字を使用すると、この問題を回避できます:

<?php
header("Content-type:text/html;charset=utf-8");
echo &#39;网址是:\&#39;https://www.php.cn/\&#39;&#39;;
?>

出力結果:

PHP でエスケープされた文字列を復元する方法と復元 (詳細な例)

#このとき、エスケープ文字を使用して文字列をエスケープすることで、必要な内容を出力できます。結果はでした。

この種の手動エスケープは、一部の単純な文字列に適しています。文字列が非常に複雑である場合、または文字列が非常に長い場合、手動エスケープにエスケープ文字を使用するのは少し面倒です。良い解決策は?

addslashes() function と stripslashes() function は PHP で提供されており、

関数は文字列を自動的にエスケープできます。一度。

<strong><span style="font-size: 20px;">#addslashes() </span></strong>#関数 - 文字列を自動的にエスケープします# PHP で提供される addlashes() 関数は、自動エスケープに使用されます。addslashes() 関数を使用すると、文字列内の定義済み文字の前にバックスラッシュ "\" を追加できます。この定義済み文字には、単一の文字が含まれます。引用符、二重引用符、バックスラッシュ。

この関数の基本的な構文形式は次のとおりです。 <pre class="brush:php;toolbar:false">addslashes(string)</pre>パラメータ文字列はエスケープする必要がある文字列を表し、返される結果は、エスケープされた文字列。

例を通してこの関数の使用法を見てみましょう。例は次のとおりです:

<?php
$str = "[&#39;好好学习&#39;=>&#39;天天向上&#39;,&#39;福如东海&#39;=>寿比南山]";
echo $str . "<br>";
$a = addslashes($str);
echo $a . "<br>";
?>

出力結果:


#はい 簡単に理解すると、エスケープする必要がある文字の前にバックスラッシュを追加します。

PHP でエスケープされた文字列を復元する方法と復元 (詳細な例)

#stripslashes()

<strong># # 関数 - 文字列の復元 <span style="font-size: 20px;"></span></strong> 上で述べたように、PHP では addslashes() 関数を通じてエスケープ操作を実行できます。 、指定された位置に、stripslashes() 関数に対応する位置にバックスラッシュを追加します。これは、文字列を復元し、

addslashes

() 関数によって追加されたバックスラッシュを削除するために使用されます。 stripslashes() 関数の基本的な構文形式は次のとおりです。 <pre class="brush:php;toolbar:false">stripslashes(string)</pre>パラメータ文字列は操作する必要がある文字列を表し、返される結果は次のとおりであることに注意してください。バックスラッシュが削除されたバー文字列。 次に、例を通じて、stripslashes() 関数の適用を見てみましょう。例は次のとおりです:

<?php
$str = "[&#39;好好学习&#39;=>&#39;天天向上&#39;,&#39;福如东海&#39;=>寿比南山]";
echo $str . "<br>";
$a = addslashes($str);
echo $a . "<br>";
$b = stripslashes($a);
echo $b . "<br>";
?>

出力結果:

上記の例では、stripslashes() 関数を使用して、addslashes() 関数によってエスケープされた文字列を復元します。

文字列のエスケープと復元は、addslashes() 関数とtripslashes() 関数によって実行できます。

ご興味がございましたら、「PHP ビデオ チュートリアル 」をクリックして、PHP の知識をさらにご覧ください。

以上がPHP でエスケープされた文字列を復元する方法と復元 (詳細な例)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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