MasterOfQuebec
Messages postés66Date d'inscriptionlundi 12 mars 2007StatutMembreDernière intervention 5 mai 2009
-
13 août 2008 à 01:10
MasterOfQuebec
Messages postés66Date d'inscriptionlundi 12 mars 2007StatutMembreDernière intervention 5 mai 2009
-
15 août 2008 à 21:36
Bonjour,
Je cherche a convertir le texte:
"yk-15" = > "Beaver Creek", en
array("yk-15", "Beaver Creek"),
à l'aide de Preg_Replace mais je ne suis pas très habile avec cette fonction. Voici ce que j'ai fais:$texte <gras>preg_replace("#"([a-z]+)-([0-9]+)"> "([a-z]+)"#si", "array("\\1-\\2","\\3")", $texte);</gras>
Mais bien sur je n'ai pas le résultat désiré.
Je souhaite utiliser la fonction preg_remplace car j'ai d'autres textes a convertir comme:
"nt-8" => "Hay River",
"nf-12" => "Wabush Lake",
MasterOfQuebec
Messages postés66Date d'inscriptionlundi 12 mars 2007StatutMembreDernière intervention 5 mai 2009 15 août 2008 à 21:36
Merci mais ceci ne fonctionne pas, après avoir cherché un peut sur le net je suis tombé sur ceci:
<li>^ - The beginning of a line.</li><li>$ - The end of a line.</li><li>a? - The letter "a" is only mentioned once, or not at all (0-1).</li><li>a* - The letter "a" is mentioned at least once, or not at all (0 - 1+).</li>J'ai alors vu qu'il y avait un $ dans l'expression et je l'ai retiré.
Ce qui ma donné:
$ttexte=preg_replace('`"(.*)" => "(.*)",`ui', 'array("$1", "$2"),', $ttexte);
Et tous fonctionne.
MasterOfQuebec
Messages postés66Date d'inscriptionlundi 12 mars 2007StatutMembreDernière intervention 5 mai 2009 14 août 2008 à 01:53
Merci Beaucoup mais il y a un petit problème,
En utilisant:
"qc-168" => "Amos",
"qc-146" => "Amqui",
"qc-38" => "Asbestos",
J'ai:
"qc-168" => "Amos",
"qc-146" => "Amqui",
array("qc-38", "Asbestos"),
L'opération est effectué uniquement sur la dernière ligne.
Quelqu'un a une idée?
Si vous avez bessoin de plus d'information voici mon code
$ttexte=$_POST["texte"];
$ttexte=trim(stripslashes($ttexte)); //J'utilise stripslashes car pour une raison que je ne connais pas (surêment sécurité) PHP ajoute automatiquement des caractères d'échapement devant les guillemets (et trim pour que le résultat soit plus propre).
echo $ttexte;
$ttexte=preg_replace('`"(.*)" => "(.*)",$`ui', 'array("$1", "$2"),', $ttexte);
echo $ttexte;