begin process at 2010 03 19 02:47:48
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Divers

 > 

Aide & documentation

 > 

ereg_replace et expression réguliére


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

ereg_replace et expression réguliére

mardi 14 avril 2009 à 12:12:19 | ereg_replace et expression réguliére

Valentino

Bonjour, Je souhaite enlever tout ce qui ce trouve entre crochets [] (inclut). Voici mon problème : $chaine="blabla blabla[truc truc] machin machin [bidule bidule] fin."; $result=ereg_replace("\[(.*)\]","",$chaine); Cela donne : "blabla blabla fin." Alors que je souhaiterai : "blabla blabla machin machin fin. Je ne comprends pas pourquoi il ne fait pas toutes les occurrences entre crochet?! Au lieu de cela il prend le 1er crochet en ouverture qu'il trouve et le dernier en fermeture... Merci de votre aide.
mardi 14 avril 2009 à 20:24:39 | Re : ereg_replace et expression réguliére

kohntark

Membre Club
Salut Valentino,

C'est pourtant si simple les regex !!!

Cela devrait convenir :
$result = preg_replace('`\[[^]]+\]`', '', $chaine);



Cordialement,

Kohntark -

mardi 14 avril 2009 à 20:26:51 | Re : ereg_replace et expression réguliére

kohntark

Membre Club
Réponse acceptée !
Plutôt ça d'ailleurs :
$result = preg_replace('`\[[^]]+]`', '', $chaine);

Fais quelques tests avant

Kohntark -

mercredi 15 avril 2009 à 09:27:38 | Re : ereg_replace et expression réguliére

DiGhan

Salut,

Ou simplement ceci :

preg_replace('#\[.*?\]#', '', $string);

mercredi 15 avril 2009 à 09:30:24 | Re : ereg_replace et expression réguliére

DiGhan

Mes excuses, petite explication :

Le caractère '?' à la fin d'une séquence .*|.+ permet de limiter le parsing au caractère se trouvant juste après. Dans ton cas, le crochet fermant.
mercredi 15 avril 2009 à 10:08:40 | Re : ereg_replace et expression réguliére

Valentino

Réponse acceptée !
Merci à tous pour votre aide. DiGhan ton expression ne fonctionne pas... Entre temps j'ai trouvé une autre façon de faire qui fonctionne aussi bien et même mieux dans un cas de figure ou il n'y a rien entre les crochets [] : preg_replace("@\[[\!]*?[^\[\]]*?\]@","",$chaine); Je vous avous que je ne comprend pas tous ce qu'implique cette expression, je l'ai "bidouillé" sans comprendre certaine de ses composantes... si quelqu'un se sent capable de m'expliquer pas à pas je suis preneur.
mercredi 15 avril 2009 à 19:54:59 | Re : ereg_replace et expression réguliére

kohntark

Membre Club
Réponse acceptée !
J'ai l'impression que certaines parties de ta regex ne servent à rien.
Pourquoi faire si compliqué ??

Si tu veux également inclure les [] vides il suffit de faire :
preg_replace('`\[[^]]*]`', '', $chaine);

C'est beaucoup plus simple et surtout : c'est plus de 2 fois plus rapide !!

Cordialement,

Kohntark -

mercredi 15 avril 2009 à 22:42:06 | Re : ereg_replace et expression réguliére

DiGhan

Oops, j'avais mal compris... (d'ailleurs, je n'ai toujours pas saisi ce que devait matcher ton pattern). 'je suis [mauvais] fort en [algebre] sport' => 'je suis fort en sport' (après un replace). C'est bien ça ?
mercredi 15 avril 2009 à 22:57:11 | Re : ereg_replace et expression réguliére

kohntark

Membre Club
Salut DiGhan,

Oui, il me semble.

Cordialement,

Kohntark -

jeudi 16 avril 2009 à 09:05:46 | Re : ereg_replace et expression réguliére

Valentino

DiGhan : Oui c'était ça le but ^^ Kohntark : Ta dernière expression correspond aussi parfaitement... te sent tu capable de me l'expliquer pas à pas ? Encore merci à tous.

1 2

Cette discussion est classée dans : fin, replace, ereg, machin, blabla


Répondre à ce message

Sujets en rapport avec ce message

Mini Pb avec ereg_replace() [ par nicolas66 ] <a href="Bonjour @ tous les programmeurs : br Toujours pr mon forum, jessaye de mettre en place des boutons js qui font saisir à l utilisateur url et ereg_replace [ par bebeArnaud ] je cherche à remplacer plusieurs mots par des balises ( input type=texte );mais je me heurte à un problème : la fonction ereg_replace utilisée plusieu Ereg_replace un peu a l'envers [ par syltouille ] Bonjour a tout le monde !Je voulais savoir si quelqu'un pouvait me dire comment faire un ereg_replace mais un peut different de ce que propose le vrai supprimer des <P> dans une base [ par cacoun ] Salut à tous,J'utilise rich text editor qui me permet de mettre un texte dans une base de données.Or et à l'inverse de ce forum, quand j'appuie sur la espace et ereg_replace [ par jul00 ] salut tou le mondevoila je voudrai remplacer les espaces de ma variable par des %20 avec ereg_replacemon code c'est sa mais sa marche pas------------- utilisation de ereg_replace php5 [ par NINI49 ] Bonjour, Ce code marchait sous PHP4 Il supprimait tout les liens d'une page récupérée sur un site de résultat de sport (basketfrance.fr en l'occurence "&" dans une expression régulière [ par Nitruk ] Bonjour, il semblerait que je rencontre un problème en essayant de trouver des url, ou plus précisment des balises "url" de BBcode.Pour adapter celles Supprimer en fonction d'une class [ par 64nemesis ] Bonjour,Voilà je cherche à supprimer tous les appels xxxxxxxxxxxxxxxxxxxxxx dans $var Peut importe ce qu'il y a  en xxxxxxxxxxxxxxxxxxxxxxxx, cela pe forme ereg, eregi, ereg_replace, eregi_replace [ par apz ] salut,j'aimerais bien comprendre les expressions regulieres (ereg, ereg_replace, eregi, eregi_replace).j'ai lu la documentation et voila ce que j'ai c ereg_replace [ par whouu ] Salut a tous , j'utilise ereg_replace pour remplacer par ex :$chaine= 'Aujourd'hui'$chaine =ereg_replace("'", "", $chaine);   ce qui me supprime " ' "


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Photothèque

 
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,530 sec (3)

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