PHP の文字列操作 (2)

黄舟
黄舟オリジナル
2016-12-23 09:16:271182ブラウズ

文字列をエスケープして復元するには 2 つの方法があります。1 つは文字列データを手動でエスケープして復元する方法、もう 1 つは文字列データを自動的にエスケープして復元する方法です。

1. 文字列データを手動でエスケープして復元する

文字列は、一重引用符 (')、二重引用符 ("")、区切り文字 ({}) の 3 つの方法で定義できます。文字列を使用する場合、文字列内にこれらの記号と PHP スクリプトを混同する文字が含まれる可能性があるため、エスケープ ステートメントを作成する必要があります。これには、エスケープ記号「」をその前に追加する必要があります。

「」はエスケープ文字であり、「」の直後の文字は意味を持ちません。

例:

<?php
    echo "I\&#39;m Tom";
    ?>

実行結果は次のようになります: 私はトムです。

2. 文字列データの自動エスケープと復元

文字列データの自動エスケープと復元は、PHP が提供するaddslashes()関数とstripslashes()関数を適用することで実現できます。

addslashes() 関数は、文字列にスラッシュ "" を追加するために使用されます。

stripslashes() 関数は、addslashes() 関数を使用してエスケープされた文字列を復元するために使用されます。

例:

<?php
    $str = "I&#39;m Tom";
    $str2 = addslashes($str);    //对字符串中的特殊字符进行转义    echo $str2 . "<br />";  
    echo stripslashes($str2);     //将转义后的字符串恢复,然后输出
    ?>

実行結果:

I'm Tom

I'm Tom

上記2つの関数は、指定された文字列の自動エスケープと復元を実現します。上記で紹介した方法以外にも、addcslashes()関数やstripcslashes()関数を使用することで、エスケープ・復元する文字列の範囲を限定することができ、指定した範囲内の文字列を自動的にエスケープ・復元することができます。

addcslashes() 関数は、文字列内の文字のエスケープ、つまり指定された文字列の前にバックスラッシュを追加します。

stripcslashes() 関数は、addcslashes() 関数を使用してエスケープされた文字列を復元するために使用されます。

例:

<?php
    $str = "自学PHP就上PHP中文网";
    $str2 = addcslashes($str, "自学PHP就上PHP中文网");    
    echo $str2 . "<br />";    //输出转义后的字符串   
    echo stripcslashes($str2);    //输出还原后的字符串
    ?>

実行結果:

327324321247PHP276315311317321247260311315370

PHP 中国語 Web サイトで PHP を学びましょう


■ PHP の文字列操作(2)の内容については、PHP の中国語 Web サイトに注意してください。その他の関連コンテンツ (www.php.cn)。


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