J'utilise mes propres cm à partir de zéro, donc, je suis d'ajouter des fonctions utiles pour mon système, mais je me suis coincé sur ce point:preg_replace pas la récupération de données correctes
Une phrase est chargé à partir lang fichier sur tableau, dans ce cas, $lang['sign']['server'] = 'Sign in with your {{servername}} registered account:';
, puis, par une fonction, {{servername}}
doit être remplacé par $config['servername']
.
Ce que j'ai à ce jour sur ma classe de fonctions est la suivante:
public function replaceTags($text)
{
global $config;
return preg_replace("/{{(.*?)}}/" , $config[strtolower("$1")], $text) ;
}
Im appeler ici cette fonction: $main->set('ssocial', $FUNC->replaceTags($lang['sign']['social']));
, mais le résultat est Sign in with your registered account:
au lieu de Sign in with your "Server Name Goes Here" registered account
.
Des idées sur pourquoi le preg_replace ne récupère pas la valeur?
Aussi, quand $config[”$1”]
est à l'intérieur '' comme ceci '$config[”$1”]'
, la sortie est Sign in with your $config[”servername”] registered account:
, donc je n'ai aucune idée de ce qui ne va pas.
Merci d'avance.
'preg_replace ('/\{\{(.*?)\}\}/' ...)' peut-être? '{}' indique la récurrence du match dans RegExps ... bien que je ne suis pas sûr que ça échouera sans quelque chose à faire correspondre avant (pas réellement testé). – CD001
Quant à '$ config [ » $ 1” ] est à l'intérieur '' comme ça « $ config [ » $ 1” ] ' '... qui est à prévoir, apostrophes indiquent les chaînes non-interpolée (par exemple la saucisse $ sera littéralement traitée comme $ saucisse * pas * la variable $ saucisse). – CD001
La sortie est la même en changeant la regex, vide; J'ai essayé avec des choses différentes (avant avec% tag%), mais chaque fois que la sortie devient vide. – pily