#1 Le 26/06/2015, à 16:48
- voxdemonix
[SOLVED][PHP]problem d'utilisation de preg_replace avec des valeur XML
Voila je me prend la tête depuis plus de deux heures sur une connerie monumentale dont j'espère que vous allez pouvoir m'aider a sortir.
Contexte: Je suis en train de coder un module de traduction qui doit ne tenir qu'en quelques lignes (récupérer les valeurs dans le fichiers de traduction mouliner le tout a coups de boucle et de preg_replace).
l'objectif est de faire une fonction de type
function maFonction($maStringATraduire){
global $maLangue;
//recup du xml
$xml = simplexml_load_file("trad.xml");
//moulinette
foreach($xml->$maLangue as $pattern=>$replace){
$stringTraduite = preg_replace('/'.$pattern.'/', $replace, $maStringATraduire);
}
return $stringTraduite;
}
<?php
$string = "jeNeFonctionnePas";
echo 'test via string : ';
echo preg_replace('/jeNeFonctionnePas/', 'Hello World' ,$string); // fonctionne
echo '<br />test via xml directement integre : ';
$xml = simplexml_load_file("trad.xml");
echo preg_replace('/jeNeFonctionnePas/', $xml->fr->jeNeFonctionnePas ,$string); //ne fonctionne pas
echo '<br />test via xml foreach : ';
foreach($xml->fr as $k=>$v){
echo preg_replace('/'.$k.'/', $v ,$string);
}
echo '<br />test cruciale via foreach : ';
$xml2 = simplexml_load_file("./trad.xml");
$plop = $xml2->fr;
foreach($plop as $k=>$v){
//langue
echo preg_replace('/'.$k.'/', $v ,$string); //ne fonctionne pas
}
echo '<br />test cruciale via double foreach : ';
$lang ="fr"; $test = '';
foreach($xml2 as $firstValue=>$content){
//langue
if ($firstValue == $lang){
foreach($content as $pattern=>$replace){
//echo 'pattern = '.$pattern.' et replace = '.$replace.';<br />';
$replace = strval($replace); // var_dump indiquant que c'est un objet et non une string, on corrige
$test = preg_replace('/'.$pattern.'/', $replace , strval($string)); //ne fonctionne pas
}
}
}
echo $test;
?>
Dernière modification par voxdemonix (Le 08/10/2020, à 14:32)
Hors ligne
#2 Le 27/06/2015, à 13:04
- voxdemonix
Re : [SOLVED][PHP]problem d'utilisation de preg_replace avec des valeur XML
Ca c'est de la réponse constructive digne d'ubuntu-fr...
Hors ligne
#3 Le 27/06/2015, à 13:14
- pires57
Re : [SOLVED][PHP]problem d'utilisation de preg_replace avec des valeur XML
Salut,
Tu pourrais fournir les 50 dernière ligne de ton fichier de log? (et éviter de généraliser aussi ce serais sympa)
Cependant je confirme HP que ton commentaire est immonde, non constructif et te conseille vivement d’arrêter de poster 'juste pour avoir un post de plus'
Utilisateur d'Archlinux, Ubuntu et Kali Linux
Administrateur système et réseau spécialisé Linux.
LinkedIn
Hors ligne