Jag använder mej av variabler för att styra vilket språk min sida ska vara på. typ $hej = "hello".
Ett par av sidorna visar en massa bilder. Dessa hämtar jag ur en mysql-databas, där jag har sparat sökväg till bilden samt en liten text som är tänkt att visas under bilden.
Nu till min fråga.
Jag vill från databasen hämta en språkvariabel tillsammans med bilden.
Jag har försök att lägga variablen i databasen och sedan hämta den,
men infon från språkfilen hämtas inte och variablen skrivs ut som en variabel.
Så här skriver jag ut den:
D.v.s. du använder en associativ array i stället för en dröse lösa variabler. Sen kan du göra en funktion som går igenom en text och letar upp variabler, m.h.a. preg_replace:
function localize_string($str){
global $lang;
$pattern = '/\$\\{(\\S+)\\}/e';
$action = '$lang["\\1"]';
return preg_replace($pattern, $action, $str);
}
Den här koden antar att variabelnamnen i texten som ska översättas är omslutna av {måsvingar} och föregås av $-tecken. Så om du har en texten ${hej} och ${adjö}! och kör den genom localize_string, blir det samma resultat som om det stått "$lang[hej] och $lang[adjö]!" i PHP-koden. I ditt fall skulle du alltså till slut skriva: