これは私を夢中にさせています。このPHPサンプルコードの理由を知りたい:
$str = '<p>Delivery: %DELIVERY-STAMP%</p>';
$str = rawurldecode($str);
echo $str;
結果は空の文字列です。しかし、これで:
$str = '<p>Delivery: % DELIVERY-STAMP%</p>';
$str = rawurldecode($str);
echo $str;
結果結果は
<p>Delivery: % DELIVERY-STAMP%</p>
唯一の違いは、% D の余分なスペースです。つまり、文字列 "%D" が rawurldecode() に渡されると、結果として常に空の文字列が返されるため、何か非常に悪いことが起こります。これはバグでしょうか?ドキュメントに「%D」に関する参照が見つかりませんでした。PHP 5.4.2 を使用しています。実際のコードでは、rawurldecode() の実行を避けることはできません。よろしくお願いします!