我想用其他方法過濾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(~))
它打破了其他的例子還有,我想不通爲什麼。任何人都可以將我指向正確的方向嗎?
你嘗試過報價了嗎? –