fork(1) download
  1. <?php
  2.  
  3. function miUrlEncode($string) {
  4. // Basado en http://p...content-available-to-author-only...p.net/manual/es/function.urlencode.php#97969
  5.  
  6. if (preg_match("/%[0-9a-f]{2}/i", $string)) {
  7. return $string;
  8. }
  9.  
  10. $entities = array('%21', '%2A', '%27', '%28', '%29', '%3B', '%3A', '%40', '%26', '%3D', '%2B', '%24', '%2C', '%2F', '%3F', '%25', '%23', '%5B', '%5D');
  11. $replacements = array('!', '*', "'", "(", ")", ";", ":", "@", "&", "=", "+", "$", ",", "/", "?", "%", "#", "[", "]");
  12. return str_replace($entities, $replacements, urlencode($string));
  13. }
  14.  
  15. $mi_url_codificada = 'https://es.stackoverflow.com/questions/245279/c%c3%b3mo-detectar-si-una-url-est%c3%a1-codificada-en-php';
  16. $mi_url_sin_codificar = 'https://es.stackoverflow.com/questions/245279/cómo-detectar-si-una-url-está-codificada-en-php';
  17.  
  18. $array_con_urls['url_codificada'] = 'https://es.stackoverflow.com/questions/245279/c%c3%b3mo-detectar-si-una-url-est%c3%a1-codificada-en-php';
  19. $array_con_urls['url_sin_codificar'] = 'https://es.stackoverflow.com/questions/245279/cómo-detectar-si-una-url-está-codificada-en-php';
  20.  
  21. print(miUrlEncode($mi_url_codificada) . "\n");
  22. print(miUrlEncode($mi_url_sin_codificar) . "\n");
  23.  
  24. print(miUrlEncode($array_con_urls['url_codificada']) . "\n");
  25. print(miUrlEncode($array_con_urls['url_sin_codificar']) . "\n");
  26.  
  27.  
Success #stdin #stdout 0s 82624KB
stdin
Standard input is empty
stdout
https://es.stackoverflow.com/questions/245279/c%c3%b3mo-detectar-si-una-url-est%c3%a1-codificada-en-php
https://es.stackoverflow.com/questions/245279/c%C3%B3mo-detectar-si-una-url-est%C3%A1-codificada-en-php
https://es.stackoverflow.com/questions/245279/c%c3%b3mo-detectar-si-una-url-est%c3%a1-codificada-en-php
https://es.stackoverflow.com/questions/245279/c%C3%B3mo-detectar-si-una-url-est%C3%A1-codificada-en-php