begin process at 2012 02 13 08:25:50
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Divers

 > 

Débutant(e)

 > 

interpréter des chaines de caractère dans une autre (regex!!)


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

interpréter des chaines de caractère dans une autre (regex!!)

mercredi 23 juillet 2008 à 16:35:23 | interpréter des chaines de caractère dans une autre (regex!!)

Teddy_le_gnein

Bonjour.

Je souhaiterai créer un champ dans lequel l'utilisateur saisit une chaine de caractères, et suivant les chaines de caractères saisis, interpréter des variables de manière différentes.
par exemple, si la personne saisit « blabla[12]bloblo_blu »

Le [12] doit être associé à une variable pré-définie.

Pour l'instant j'ai ceci

--------------------------------------------------------------

1.htm

 

<form method="post" action="2.php">

<input type="text" name="test" size="45">

<br><input type="submit" value="Suivant">

</form>

--------------------------------------------------------------

2.php

 

<?php

function bbCode($t)

{

   $t=str_replace("[12]", "variable_pour_12", $t);

   return $t;

}  

  

$t=$_POST['test'];

echo bbCode($t);

?>

--------------------------------------------------------------

 

Cela marche très bien.
là où ça se corse, c'est si je veut en utiliser d'autres.
ex : blabla[12]bloblo_blu[11]bli 

 

Comment interpréter les deux chaines [12] et [11] ?

J'ai essayer plusieurs méthodes mais les résultats ne donnent pas ce que je cherche ! à savoir. le remplacement de la variable préétablie dans la chaine de caractère saisie, et ce queques soit le nombre de [x] interpréter

Ex : saisit => blabla[12]bloblo_blu[11]bli 

Doit pouvoir donner $phrase = '' blablavariable_pour_12bloblo_bluvariable_pour_11bli '';


Je n'y connais rien en regex, donc j'ai utiliser ce code simplifié, mais ce n'est peut être pas possible de cette manière... 

Je ne sais pas si c'est très clair, si vous voulez des précisions...

Merci de votre aide.

jeudi 24 juillet 2008 à 10:16:48 | Re : interpréter des chaines de caractère dans une autre (regex!!)

p3x

Réponse acceptée !

bah si tu fais que d'ajouter des ligne comme ca dans ta fonction ca marchera très bien nan ? Je vois pas ou est le problème là...

<?php

function bbCode($t)

{

   $t=str_replace("[12]", "variable_pour_12", $t);

   $t=str_replace("[13]", "variable_pour_13", $t);

   $t=str_replace("[14]", "variable_pour_14", $t);

   $t=str_replace("[15]", "variable_pour_15", $t);

   $t=str_replace("[16]", "variable_pour_16", $t);

   return $t;

}

$t=$_POST['test'];

echo bbCode($t);

?>



p3x
jeudi 24 juillet 2008 à 10:17:44 | Re : interpréter des chaines de caractère dans une autre (regex!!)

yoman64

Membre Club
Réponse acceptée !
Salut,

Si je comprends bien ce que tu veux, tu n'as pas besoin de regex ton str_replace suffit amplement.

Tout d'abord tu dois savoir que str_replace supporte des tableaux comme arguments

Un petit exemple:

<?php

function bbCode($t)

{

 $variables = array('[11]', '[12]');

 $valeurs = array('valeur_du_11', 'valeur_du_12');

   $t=str_replace($variables, $valeurs, $t);

   return $t;

}  

$t=$_POST['test'];

echo bbCode($t);

?>


Je crois que c'est ce que tu cherches, si c'est pas le cas n'hésites pas

-------------------
Vous cherchez un hebergement Php/MySQL Gratuit et sans publicités ??
Et bien c'est la : www.e3b.org  
jeudi 24 juillet 2008 à 10:23:00 | Re : interpréter des chaines de caractère dans une autre (regex!!)

p3x

Réponse acceptée !
ouai c'est la même en plus compliqué mais avec moins de code :-)

p3x
jeudi 24 juillet 2008 à 11:02:04 | Re : interpréter des chaines de caractère dans une autre (regex!!)

yoman64

Membre Club
Réponse acceptée !
Bah c'est pas plus compliqué, au contraire.
C'est d'ailleurs beaucoup plus optimisé. Faire plusieurs appels de suite à str_replace c'est bien plus lourd qu'un seul

-------------------
Vous cherchez un hebergement Php/MySQL Gratuit et sans publicités ??
Et bien c'est la : www.e3b.org  
jeudi 24 juillet 2008 à 11:17:38 | Re : interpréter des chaines de caractère dans une autre (regex!!)

Teddy_le_gnein

Réponse acceptée !
Euuuhhh!!!
Je pensai avoir déjà testé ta solution p3x, mais en essayant ta source par copier-coller, ça marche nickel...
Je suppose que j'avais une autre erreur dans ma source initiale quelque part!
Désolé du dérrangement, et merci à vous...
Merci yoman64, je crois bien que je vais utiliser un array puisque c'est possible...
ça sera plus propre !!!

You can do it...


Cette discussion est classée dans : caractère, chaines, regex, saisit, interpréter


Répondre à ce message

Sujets en rapport avec ce message

Trier Chaines de caractère dans un fichier texte [ par jdaviaud ] Salut à tous :)Voila, j'aurais besoin d'un peu d'aide car je vois pas trop comment m'y prendre :J'ai un motur de cherche qui stoque tous les termes de Code php pour comparaison de 2 chaines de caractère [ par camille911 ] Bonjour à tous, Voilà, je suis en train de développer un petit site de comparateur de séquences (c'est de la biologie), et je bute sur beaucoup d'obst Problèmes de REGEX [ par bobino75 ] Bonjour à vous, Je commence à travailler avec les REGEX et je me retrouve avec quelques problèmes. Je fais une recherche dans une base de données av Recherche d'un mot avec un REGEX et mettre en surbrillance [ par bobino75 ] Bonjour, Je recherche la bonne manière d'écrire un regex me permettant de trouver un mot dans une phrase. Si je cherche le mot "mal", je veux trouve Prob gestion caractère accentuté dans BDD avec FCKeditor [ par bendoc ] Bonjour,je suis confronté au problème suivant :J'utilise fck editor pour remplir le contenu de mes pages de mon site web. Le contenu généré est enregi $regex = '`[arrache de cheveux]{0,100000}?`' [ par kohntark ] Salut,Je prends la liberté de poster sur le forum regex (peu fréquenté semble t il, snif) et celui ci.En cette fin de journée fatigante je galère un p Tronquer chaine de caractère [ par rubenxela ] Bonjour Pour commencer, mon niveau en codage php est vraiment basic.En fait j'ai besoin de tronquer une chaine de caractère. Jusque là couper après un Chaîne caractère prendre une partie d'un texte [ par fabienfs ] Bonjour, J'ai une chaîne de caractère "Avril Lavigne - Mobile" Quelle fonction utiliser pour ne prendre que "Avril Lavigne" ? Soit tout ce qui est av Regex séparateur []et espace [ par moumouf ] Bonjour, Un petit exemple clair : $search = 'toto est [un idiot]'; Je souhaiterai avoir comme retour (avec preg_match_all) array(0 => 'toto', 1 => Aide pour une regex [ par karimfellah ] stl à tous et à toutes. SVP j'ai pas de bonnes connaissances pour les regex en plus sa m'embéte. je cherche une regex qui permet de retourner les p


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,546 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales