Expression régulière - PHP - Programmation
Marsh Posté le 13-12-2003 à 13:54:46
Code :
|
edit:
attention tout de meme si tu n'utilise pas la concatenation, si tu as un truc du genre :
{var}2
ton script comprendra :
$var2
et non pas $var.'2'
Marsh Posté le 13-12-2003 à 14:22:13
Cool, merci bcp...une question quand meme, le # sert à quoi ?
Marsh Posté le 13-12-2003 à 17:02:40
a delimiter l'expression reguliere. Il faut 2 caracteres identiques au debut et a la fin : (nb: parfois, il n'y a pas d'options ...)
#regex#options
/regex/options
etc
Si tu veux utiliser le caractere delimiteur, il faut l'echapper :
#regex_debut\#regex_fin#options
...
Marsh Posté le 13-12-2003 à 17:07:41
Ha ok merci mais j'a testé et y a un ptit bug
dans mon fichier qui va etre pris & analysé il y a "var test : {test} " et le resultat donne "var test : test"...impossible de faire passer le deuxieme test comme variable...
Marsh Posté le 13-12-2003 à 17:21:08
oui j'avais oublié un $
edite plus haut
Marsh Posté le 13-12-2003 à 17:25:27
bin oui c'est ce que j'avais essayé mais pas moyen :|
Regarde le code :
<?php
/* ouverture du fichier */
$fp = @fopen("test.x", "r" );
while (!feof($fp))
{
$Donnees .= fread($fp, 16);
}
$Data = $Donnees;
$test = "lol";
/* remplace des {} */
$Data = preg_replace("#\{([a-zA-Z0-9_-]+)\}#","$$1",$Data);
$Data = $Data;
echo "$Data";
?>
Marsh Posté le 13-12-2003 à 12:13:34
Slt,
Je travaille sur un projet et j'aurais besoin que mon script analyse une chaine et transforme les morceaux genre "{user}" par $user come pour les templates...je voudrais utiliser la fonction "preg_replace()" pour les \\1 mais je n'arrive pas
Pouvez-vous m'eclarer sur la syntaxe ?
Merci