他の方法でURLをフィルタリングした後に非RFC文字を削除しようとしています。この方法は壊し:エラーが返さsprintf関数が評価されていません
$query = 'www.example.com_-.su_-.1Mk8ij_-.www.cs.cmu.edu_-.~mjw_-.recipes_-.cheese_-.cheese-garlic-biscuits.html';
$query = preg_replace('/([^a-zA-Z0-9._-])/e', 'sprintf("_-%2.2x", ord($1))', $query);
は、それは他の例で破っ
Failed evaluating code: \nsprintf("_-%2.2x", ord(~))
であり、私はその理由を把握することはできません。誰かが私を正しい方向に向けることができますか?
まだ引用符を試しましたか? –