Prosím pomôžte mi niekto dostal som sa do slepej uličky.... Ide o to aby preg_replace na základe match zamenilo textom z pola...
function applyLang($text){
global $array_zmena;
$text = preg_replace("#\{C_([a-z0-9\-_]*)\}#is",$array_zmena["\\1"],$text);
return $text;
}
$text = "Ahoj {C_ZMENA} ako sa máš";
$array_zmena = array('ZMENA'=>'napriklad meno', 'ZMENA2'=>'dalsie meno');
$output = applyLang($text);
echo $output;
vráti: Ahoj ako sa máš
Pomôžte mi kde robím chybu....
Vyriešil som to cez preg_match_all, ale ja tak by ma zaujímalo či je možné urobiť to priamo aj cez preg_replace. Ďakujem
function applyLang($text){
preg_match_all("#\{C_([a-z0-9\-_]*)\}#is",$text,$matches);
for ($x=0;$x<count($matches[0]);$x++){
$text = str_replace($matches[0][$x],$array_zmena[$matches[1][$x]],$text);
}
return $text;
}