2

この PHP 文字列がある場合:

$string = '\\x27\\x22';

どのようにデコードし'"ますか?

4

3 に答える 3

5

ここで正規表現が役立ちます:

$out = preg_replace_callback(
  "(\\\\x([0-9a-f]{2}))i",
  function($a) {return chr(hexdec($a[1]));},
  $string
);
于 2012-09-02T18:42:04.867 に答える
0

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

于 2012-09-02T18:38:54.947 に答える