besoin d'aide sur expressions régulieres - PHP - Programmation
Marsh Posté le 29-06-2007 à 11:02:16
Tu veux remplacer quoi aussi?
Sinon tu as ce site : http://www.expreg.com/
Marsh Posté le 29-06-2007 à 11:11:47
je veux rechercher tout ce qui ressemble au bloc ci dessus par rien dans mon texte ! je veux les supprimer !
PS : c sur ce site que j'ai pris mes "conseils", j'ai passé ma soirée à lire leurs articles.
Marsh Posté le 29-06-2007 à 11:24:02
Si le bloc se trouve toujours à la même ligne, tu peux te baser sur le numéro. C'est pas très fiable mais c'est ce qu'il y a de plus simple et de plus rapide.
Marsh Posté le 29-06-2007 à 11:28:13
non justement ya des retour chariot partout et le contenu du bloc varie mais est toujours formaté de la même façon
Marsh Posté le 29-06-2007 à 11:41:59
Je pense qu'il faudrais que tu mettes toutes tes lignes sur une seule ligne afin de retrouver la chaine "<h2>....)<br />".
Je ne vois pas d'autre moyen. Tu peux toujours rajouter dans ta règle les chaines de caractères statique. Ta recherche sera d'autant plus efficace et surtout plus sûr.
Marsh Posté le 29-06-2007 à 11:54:03
j'ai viré les \n ... mais j'ai pas le bon resultat
Code :
|
me retourne
<br /
Marsh Posté le 29-06-2007 à 12:04:07
en fait j'aimerai qu'il me supprime tout ce qui commence par <h2> jusqu'au prochain <h3> .. le problem c'est qu'il me supprime tout jusqu'à la fin en me laissant que le dernier bloc qui commence par <h3> ... j'ai du rater un épisode :
$str=ereg_replace("<h2>Une.*<h3>","",$str);
Marsh Posté le 29-06-2007 à 12:20:25
utilise PCRE, plus puissant/performant
Code :
|
(non testé)
Marsh Posté le 29-06-2007 à 12:22:33
whaou ! p'tain ! du premier coup ! bravo !
cepandant il m'a laissé le dernier bloc... je ne sais pas pourquoi ! mais bon ça c pas tres grave !
Marsh Posté le 29-06-2007 à 12:26:44
freed102 a écrit : cepandant il m'a laissé le dernier bloc... je ne sais pas pourquoi ! mais bon ça c pas tres grave ! |
si il n'y a pas de <h3> après le dernier bloc, normal.
je te laisse réfléchir à une autre regexp
Marsh Posté le 29-06-2007 à 11:00:26
bonjour à tous,
j'ai besoin d'aide pour les expressions régulieres, c quelquechose que je ne maitrise pas du tout et je cherche une solution rapide et efficace pour parser un fichier et supprimer/remplacer des blocs entiers de contenu.
en gros dans mon bloc de texte j'ai des blocs qui ressemblent à ça :
<h2>Une tentative de paiement à été effectuée le 09-05-2007 à 00:08:41</h2><br /><strong>Réponse serveur :</strong> Paiement validé (code-retour : paiement)<br /><strong>Référence :</strong> BOAU1178662067<br /><strong>Montant :</strong> 20EUR<br /><br /><br />La base de donnée a bien été mise à jour<br /><br /><br /><br />Array<br />
(<br />
[co_id] => 62849<br />
[co_champ1] => BOAU1178662067<br />
[co_champ2] => Melle<br />
[co_champ3] => Martine<br />
[co_champ4] => Dupont<br />
[co_champ5] => 1 rue de la chausée<br />
[co_champ6] => 77145<br />
[co_champ7] => Trifouille les oies<br />
[co_champ8] => martine.dupont@monmail.com<br />
[co_champ9] => 06.66.44.55.66<br />
[co_champ10] => cb<br />
[co_champ11] => Paiement validé<br />
[co_champ12] => non<br />
[co_champ13] => 09-05-2007 à 00:08:41<br />
[co_champ14] => <br />
[co_champ15] => <br />
[co_champ16] => <br />
[co_champ17] => <br />
[co_champ18] => <br />
[co_champ19] => <br />
[co_champ20] => <br />
[co_grdtexte1] => <br />
[co_grdtexte2] => <br />
[co_grdtexte3] => <br />
[co_numint1] => 6<br />
[co_numint2] => <br />
[co_numint3] => <br />
[co_numint4] => <br />
[co_numint5] => <br />
[co_numdbl1] => 20<br />
[co_numdbl2] => <br />
[co_date1] => 2007-05-09<br />
[co_date2] => 2007-05-09<br />
[co_datecrea] => 2007-05-09<br />
)<br />
en cherchant un peu et en utilisant une extension firefox pour m'aider j'ai trouvé cette regex là : <h2>.*(\n.*){36}
sur firefox ça marche... mais en PHP ça mouline et ça ne retourne rien :
HELP ME PLEASE !!!
freed
Message édité par freed102 le 29-06-2007 à 11:01:53