PHP - ¿ decodificar cadena URL ?

   
Vista:

¿ decodificar cadena URL ?

Publicado por David (2 intervenciones) el 15/02/2015 19:27:59
Hola a todos!

Cuando deseo, por ejemplo, convertir una cadena de texto a una URL utilizo la siguiente función:
https://bpaste.net/show/763abbe0d20f

¿ Como puedo volver a decodificar esa URL a la cadena de texto original (seran URL de menos de 100 caracteres) ?

Gracias!!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve

¿ decodificar cadena URL ?

Publicado por xve (5522 intervenciones) el 15/02/2015 19:45:34
Hola David creo que no hay manera...

Si te fijas, en la función, reemplazas varias caracteres, y si sobrepasa de 100 caracteres, eliminas el resto... entenderás que si no guardas un registro en alguna base de datos, sera imposible volver atras.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
function urlamiga($url) {
 
    // Tranformamos todo a minusculas
    // (Debemos utilizar "mb_strtolower" ya que "strtolower" no nos sirve cuando la cadena de texto contiene caracteres acentuados u otro tipo de caracteres especiales (como la letra eñe).)
    $url = mb_strtolower($url,'UTF-8');
 
    //Reemplazamos caracteres especiales latinos 
    $find = array('á', 'é', 'í', 'ó', 'ú', 'ñ', 'à', 'è', 'ì', 'ò', 'ù');
    $repl = array('a', 'e', 'i', 'o', 'u', 'n', 'a', 'e', 'i', 'o', 'u');
    $url = str_replace ($find, $repl, $url);
 
    // Añaadimos los guiones 
    $find = array(' ', '&', '\r\n', '\n', '+');
    $url = str_replace ($find, '-', $url);
 
    // Eliminamos y Reemplazamos demás caracteres especiales 
    $find = array('/[^a-z0-9\-<>]/', '/[\-]+/', '/<[^>]*>/');
    $repl = array('', '-', '');
    $url = preg_replace ($find, $repl, $url);
 
    // Nos aseguramos que no sea demasiado larga la URL
    $url = mb_strcut($url, 0, 100, "UTF-8");
 
    return $url;
 
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

¿ decodificar cadena URL ?

Publicado por David (2 intervenciones) el 15/02/2015 19:56:20
Gracias por tu respuesta..

las cadenas a codificar no tendran mas de 100 caracteres.

¿ se podria entones decodificar ?

Gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

¿ decodificar cadena URL ?

Publicado por Manuel Emilio Vargas Herrera (154 intervenciones) el 23/02/2015 14:08:29
Si te refieres a una dirección URL en el navegador, podrías programar algo como lo siguiente:

1
2
3
4
5
6
7
8
9
10
11
<html>
<body>
<?php
$URL_codificada = urlencode("http://es.wikipedia.org/wiki/Boletín_informativo");
$URL_decodificada = urldecode($URL_codificada);
echo "URL codificada: " . $URL_codificada;
echo "<br>";
echo "URL decodificada: " . $URL_decodificada;
?>
</body>
</html>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar