2012-04-11 6 views
1

Мне было дано несколько инструкций, чтобы проценты закодировали URL дважды. Я знаю, как процент кодировать URL один раз, но как вы это делаете дважды?URL-адрес в процентах URL-адрес дважды

Surly, когда он закодирован один раз, при повторном кодировании он будет таким же.

Я что-то пропустил?

Инструкции или алгоритм были бы замечательными!

ответ

5

Это не будет то же самое, так как вы кодировать %, используемый для кодирования.

$url = 'http://www.youtube.com/watch?v=35_0IN36rUI' 
echo $url; 
echo urlencode($url); 
echo urlencode(urlencode($url)); 

даст:

http://www.youtube.com/watch?v=35_0IN36rUI 
http%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3D35_0IN36rUI 
http%253A%252F%252Fwww.youtube.com%252Fwatch%253Fv%253D35_0IN36rUI 
4

двукратно кодировать URL-адрес в PHP сделать:

$encodedUrl = urlencode(urlencode($url)); 

определенно не тот же результат при кодировании дважды. Первый добавляет процентов кодировок и второй будет на самом деле кодировать эти знаки процента ... Например:

urlencode('guts & glory'); // "guts+%26+glory" 
urlencode(urlencode('guts & glory')); // "guts%2B%2526%2Bglory"