この PHP 文字列がある場合:
$string = '\\x27\\x22';
どのようにデコードし'"
ますか?
ここで正規表現が役立ちます:
$out = preg_replace_callback(
"(\\\\x([0-9a-f]{2}))i",
function($a) {return chr(hexdec($a[1]));},
$string
);
デコードする必要はありません。ただやってくださいstr_replace('\\x27', "'", $str);
。あなた'"
が単なる例である場合、繰り返し可能なパターンが得られたことに注意してください\\xAA
。ここで、x
は16進表記を示し、 AA
16進値自体であるため、それぞれ\\xAA
が1バイトを表しAA
、0〜0xFFです。したがって、正規表現を使用するか、文字列を他の方法で調べて、これらのAA
値を抽出し、対応する文字列に変換してchr(hexdec($AA))
、結果の文字列に接着することができます。