Foros del Web » Programando para Internet » PHP »

Usar str_replace para URLs amigables

Estas en el tema de Usar str_replace para URLs amigables en el foro de PHP en Foros del Web. Hola a todos. Primero quiero aclarar que no sé prácticamente nada de PHP y por eso mi duda es muy básica, pero espero que me ...
  #1 (permalink)  
Antiguo 15/07/2009, 00:15
 
Fecha de Ingreso: julio-2008
Ubicación: Córdoba, Argentina
Mensajes: 266
Antigüedad: 15 años, 8 meses
Puntos: 26
Usar str_replace para URLs amigables

Hola a todos.
Primero quiero aclarar que no sé prácticamente nada de PHP y por eso mi duda es muy básica, pero espero que me puedan ayudar.
El tema es que uso un archivo .htaccess de Apache para crear URLs amigables, por ejemplo:
RewriteRule ^paginaconfotos$ index.php?go=1&title=Página_con_fotos [L]
Lo que hace eso es mostrar www.dominio.com/paginaprincipal con el título Página con fotos en vez de algo largo como http://www.dominio.com/index.php?go=...gina_con_fotos. Bien, para recoger ese título yo uso esto en el header de index.php:
<title>Mi sitio &gt; <?php $title=$_GET['title']; if(isset($title)) {echo str_replace("_", " ", $title);} else {echo'Principal';} ?></title>
Lo que hace es reemplazar los _ que usé en el .htaccess por espacios y muestra "Principal" en caso de no especificar un title (por ejemplo si entramos a www.dominio.com.
Ahora bien, el problema es que yo no sólo quiero reemplazar los espacios, sino también cosas como &aacute;, &eacute;, &iacute;, &oacute;, &uacute; por á, é, í, ó, ú, etc. para que algo así:
P&aacute;gina_con_fotos
...quede así al verlo en el navegador:
Página con fotos
Encontré en el manual de PHP algo así:
<?php
function niceURL($string)
{
$que = array( 'á','é','í','ó','ú','Á','É','Í','Ó','Ú','ñ','Ñ' ,' ' );
$por = array( 'a','e','i','o','u','A','E','I','O','U','n','n','-' );
return strtolower( str_replace( $que,$por,$string ) );
}
?>
...pero no sé bien cómo introducirlo en mi línea de PHP.
Espero haberme explicado bien. Saludos y gracias de antemano.
  #2 (permalink)  
Antiguo 15/07/2009, 07:30
Avatar de maycol_alvarez  
Fecha de Ingreso: julio-2009
Mensajes: 31
Antigüedad: 14 años, 9 meses
Puntos: 1
Respuesta: Usar str_replace para URLs amigables

Php tiene funciones especificas para procesar url:


base64_decode -- Decodifica datos cifrados con MIME base64
base64_encode -- Codifica datos con MIME base64
get_headers -- Recupera todas las cabeceras enviadas por el servidor en respuesta a una petición HTTP
get_meta_tags -- Extrae todo el contenido de atributos de etiquetas meta de un archivo y devuelve una matriz
http_build_query -- Generar una cadena de consulta codificada estilo URL
parse_url -- Procesar una URL y devolver sus componentes
rawurldecode -- Decodificar cadenas codificadas estilo URL
rawurlencode -- Codificar estilo URL de acuerdo al RFC 1738
urldecode -- Decodifica una cadena cifrada como URL
urlencode -- Codifica como URL una cadena

revisa la documentación de las mismas a ver si te resuelven el problema.
  #3 (permalink)  
Antiguo 16/07/2009, 03:06
 
Fecha de Ingreso: julio-2008
Ubicación: Córdoba, Argentina
Mensajes: 266
Antigüedad: 15 años, 8 meses
Puntos: 26
Respuesta: Usar str_replace para URLs amigables

Gracias por responder, maycol_alvarez, pero como dije no sé usar PHP y no soy capaz de usar esas funciones. Me sería más fácil si me dicen cómo incluir la función que mencioné en mi código. Saludos.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:20.