<?php
function miUrlEncode($string) {
// Basado en http://p...content-available-to-author-only...p.net/manual/es/function.urlencode.php#97969
return $string;
}
$entities = array('%21', '%2A', '%27', '%28', '%29', '%3B', '%3A', '%40', '%26', '%3D', '%2B', '%24', '%2C', '%2F', '%3F', '%25', '%23', '%5B', '%5D'); $replacements = array('!', '*', "'", "(", ")", ";", ":", "@", "&", "=", "+", "$", ",", "/", "?", "%", "#", "[", "]"); }
$mi_url_codificada = 'https://es.stackoverflow.com/questions/245279/c%c3%b3mo-detectar-si-una-url-est%c3%a1-codificada-en-php';
$mi_url_sin_codificar = 'https://es.stackoverflow.com/questions/245279/cómo-detectar-si-una-url-está-codificada-en-php';
$array_con_urls['url_codificada'] = 'https://es.stackoverflow.com/questions/245279/c%c3%b3mo-detectar-si-una-url-est%c3%a1-codificada-en-php';
$array_con_urls['url_sin_codificar'] = 'https://es.stackoverflow.com/questions/245279/cómo-detectar-si-una-url-está-codificada-en-php';
print(miUrlEncode($mi_url_codificada) . "\n");
print(miUrlEncode($mi_url_sin_codificar) . "\n");
print(miUrlEncode($array_con_urls['url_codificada']) . "\n");
print(miUrlEncode($array_con_urls['url_sin_codificar']) . "\n");
PD9waHAKCmZ1bmN0aW9uIG1pVXJsRW5jb2RlKCRzdHJpbmcpIHsKCS8vIEJhc2FkbyBlbiBodHRwOi8vcC4uLmNvbnRlbnQtYXZhaWxhYmxlLXRvLWF1dGhvci1vbmx5Li4ucC5uZXQvbWFudWFsL2VzL2Z1bmN0aW9uLnVybGVuY29kZS5waHAjOTc5NjkKCQoJaWYgKHByZWdfbWF0Y2goIi8lWzAtOWEtZl17Mn0vaSIsICRzdHJpbmcpKSB7CgkJcmV0dXJuICRzdHJpbmc7Cgl9CgkKICAgICRlbnRpdGllcyA9IGFycmF5KCclMjEnLCAnJTJBJywgJyUyNycsICclMjgnLCAnJTI5JywgJyUzQicsICclM0EnLCAnJTQwJywgJyUyNicsICclM0QnLCAnJTJCJywgJyUyNCcsICclMkMnLCAnJTJGJywgJyUzRicsICclMjUnLCAnJTIzJywgJyU1QicsICclNUQnKTsKICAgICRyZXBsYWNlbWVudHMgPSBhcnJheSgnIScsICcqJywgIiciLCAiKCIsICIpIiwgIjsiLCAiOiIsICJAIiwgIiYiLCAiPSIsICIrIiwgIiQiLCAiLCIsICIvIiwgIj8iLCAiJSIsICIjIiwgIlsiLCAiXSIpOwogICAgcmV0dXJuIHN0cl9yZXBsYWNlKCRlbnRpdGllcywgJHJlcGxhY2VtZW50cywgdXJsZW5jb2RlKCRzdHJpbmcpKTsKfQoKJG1pX3VybF9jb2RpZmljYWRhICAgID0gJ2h0dHBzOi8vZXMuc3RhY2tvdmVyZmxvdy5jb20vcXVlc3Rpb25zLzI0NTI3OS9jJWMzJWIzbW8tZGV0ZWN0YXItc2ktdW5hLXVybC1lc3QlYzMlYTEtY29kaWZpY2FkYS1lbi1waHAnOwokbWlfdXJsX3Npbl9jb2RpZmljYXIgPSAnaHR0cHM6Ly9lcy5zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMvMjQ1Mjc5L2PDs21vLWRldGVjdGFyLXNpLXVuYS11cmwtZXN0w6EtY29kaWZpY2FkYS1lbi1waHAnOwoKJGFycmF5X2Nvbl91cmxzWyd1cmxfY29kaWZpY2FkYSddICAgID0gJ2h0dHBzOi8vZXMuc3RhY2tvdmVyZmxvdy5jb20vcXVlc3Rpb25zLzI0NTI3OS9jJWMzJWIzbW8tZGV0ZWN0YXItc2ktdW5hLXVybC1lc3QlYzMlYTEtY29kaWZpY2FkYS1lbi1waHAnOwokYXJyYXlfY29uX3VybHNbJ3VybF9zaW5fY29kaWZpY2FyJ10gPSAnaHR0cHM6Ly9lcy5zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMvMjQ1Mjc5L2PDs21vLWRldGVjdGFyLXNpLXVuYS11cmwtZXN0w6EtY29kaWZpY2FkYS1lbi1waHAnOwoKcHJpbnQobWlVcmxFbmNvZGUoJG1pX3VybF9jb2RpZmljYWRhKSAuICJcbiIpOwpwcmludChtaVVybEVuY29kZSgkbWlfdXJsX3Npbl9jb2RpZmljYXIpIC4gIlxuIik7CgpwcmludChtaVVybEVuY29kZSgkYXJyYXlfY29uX3VybHNbJ3VybF9jb2RpZmljYWRhJ10pIC4gIlxuIik7CnByaW50KG1pVXJsRW5jb2RlKCRhcnJheV9jb25fdXJsc1sndXJsX3Npbl9jb2RpZmljYXInXSkgLiAiXG4iKTsKCg==