Tengo una duda que me acaba de dejar alucinado...
Estuve desarrollando una web para un cliente. Ésta web tiene que ir en 4 idiomas:
* Catalán
* Castellano
* Inglés
* Alemán
Para agilizar la programación, hice 4 páginas:
* Index.php: esqueleto básico HTML (html, head, body). Aquí llamo a pattern
* Pattern.php: esqueleto de diseño, es decir, todos los div, pero vacíos (dentro hay llamadas a content)
* Content: contenido de los div: contiene listas, imágenes, texto... hace llamadas a language
* Language: retorna un array con texto dependiendo del idioma.
Ahora viene donde me empieza el problema.
Por GET me llega el idioma ($_GET['lan']). Entonces para recoger las frases que usaré, hago lo siguiente:
getLan($_GET['lan']);
Código:
Entonces, para que no salieran caracteres raros, en content hice:function getLan($lan){ if($lan == "cas"){ return array('', ''...); }elseif($lan == "cat"){ return.. }elseif($lan == "eng"){ ... }elseif($lan == "deu"){ ... }else{ return getLan("cat"); } }
Código:
Así los acentos abiertos y cosas así se mostraban bien.$lan = getLan($_GET['lan']); for($i=0;$i<count($lan);$i++){$lan[$i] = htmlentities($lan[$i]);}
Pero el problema está en que algunas veces (al parecer mágicamente) cierta página deja de funcionar...
Hoy me ha contactado mi cliente diciendo que una página en inglés no funcionaba. Haciendo tests he llegado a la siguiente solución:
Frase original: "With our focus on innovation, working with the most appropriate available technologhy, our expertise rests in advising our clients and manufacturers on the best ways to fulfill their projects, as well as in our unwavering commitment to fulfilling our clients unique needs." -> daba error
Frase que no da error: "With our focus on innovation, working with the most appropriate available technologhy, our expertise rests in advising our clients and manufacturers on the best ways to fulfill their projects, as well as in our unwavering commitment to fulfilling our clients."
Y yo me pregunto... ¿por qué me pasan estas cosas en la web?
Yo aún sigo alucinando...
Saludos!