Ver Mensaje Individual
  #8 (permalink)  
Antiguo 02/04/2008, 03:17
walvaRo
 
Fecha de Ingreso: febrero-2004
Mensajes: 446
Antigüedad: 20 años, 2 meses
Puntos: 0
Re: leer cadena de texto, y cambiar determinados caracteres por otros, AYUDA!!!

Ooops, cierto, he desordenado los parametros del str_replace...

He estado leyendo la web de php, y me ha ayudado un compañero del curro para entender las strrpos, strpos, strlen, substr... etc..

Pues bien, he hecho este codigo que no se si funciona del todo bien, pero a ver si dais algun consejillo útil para mejorarlo...

Os explico un poco.. Este codigo lo que hace es sustituir en la URL que se le pasa a la funcion como parametro.., los caracteres que están delimitados entre "_" y "." por los caracteres que yo quiero, y que le paso desde los enlaces <a> de los idiomas, (como parametro también...).

Claro está, yo se que siempre van a tener todas mis paginas un _ES.php, (o *.html, o *.shtml, o *.asp, o lo que sea...), (el "ES", puede ser "EN", "FR", o las letras del idioma que sea...)

La URL se puede conseguir con un:
$url=$_SERVER["REQUEST_URI"];


Aquí está el codigo... A ver que os parece...

Código PHP:
<?php

function cambiaURL($url$lenguaje) {

    
$posicion_guion=strrpos($url"_");
    
$PREFIJO=substr($url1$posicion_guion);

    
$posicion_punto=strrpos($url".");
    
$SUFIJO=substr($url$posicion_punto);

    
$url_modificada=$PREFIJO $lenguaje $SUFIJO;

    return (
$url_modificada);
}

?>


EJEMPLO -> $url_actual="http://localhost/pruebas/index2_ES.html";


<a href="<?php cambiaURL($url_actual,"EN")?>">Enlace ingles</a>
<a href="<?php cambiaURL($url_actual,"IT")?>">Enlace italiano</a>
<a href="<?php cambiaURL($url_actual,"ES")?>">Enlace español</a>
<a href="<?php cambiaURL($url_actual,"FR")?>">Enlace frances</a>

No se si las posiciones iniciales se representan con "1" o con "0"


Muchas gracias de antemano por vuestra ayuada!!! Entre todos podemos conseguir un buen codigo para hacer webs en varios idiomas facilemnte y alternar entre ellas..