<?php function replace($m) { $m[1] = str_replace('content:', 'content_', $m[1]); global ${$m[1]}; return ${$m[1]}; } $sPattern = '`#([^#]*)#`'; $u = preg_replace_callback($sPattern, 'replace', $t); ?>
Je suis tout à fait à l'écoute : si tu as des conseils (ou carrément des sources) je suis preneur !!
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionif(preg_match("'\#libcivilite\#'", $chaine)) // fonctionne //if(preg_match("'\#[:alnum:]\#'", $chaine)) // fonctionne pas { echo 'On a au moins une expression du type #ChaineChiffresLettres#'; } else { echo 'On a pas une expression de ce type';}
<?php preg_replace('`#([^#]*)#`', '$\1', $t); ?>
$libcivilite="Madame"; $nom="Dupont"; $content_question = "comment ca va ?"; $t = 'Bonjour #libcivilite# #nom#, #content:question#'; $u = preg_replace('`#([^#]*)#`', '$\1', $t); $t = str_replace('content:', 'content_', $u); print "<hr>".$t."<hr>"; // je voudrais obtenir 'Bonjour Madame Dupont, comment ça va ? ' // alors que cela affiche 'Bonjour $libcivilite $nom, $content_question'
function replaceVar($m) { $m[1] = str_replace(':', '_', $m[1]); global ${$m[1]}; return ${$m[1]}; } $sPatternVar = '`#([^#][a-zA-Z0-9_:]*)#`'; $body1 = preg_replace_callback($sPatternVar, 'replaceVar', $body);
ou)
ou