Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
755 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  [Résolu] preg_replace et preg_match_all dans les choux

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Résolu] preg_replace et preg_match_all dans les choux

n°2013018
Gluonk
Kopin
Posté le 29-07-2010 à 20:19:19  profilanswer
 

Salut.
 
Hier j'ai déjà bloqué 2h sur le même problème, dont la solution se révélait être un banal accident d'espaces et de tabulations non conformes entre la patterne et la cible.
 
Aujourd'hui rebelotte, mais là c'est du sérieux  :o  
 
Les deux versions du code remanié ci-dessous ont pour objectif de ne prendre qu'une partie d'un contenu posté via un formulaire, qui contient à 95% les mêmes infos à chaque fois (ne cherchez pas).
La 1ère méthode choppe le contenu en entier et supprime ce qu'il y a avant et après en trop, et la 2e méthode ne prend que ce qui est entre les deux.
 
1er ESSAI :

Citation :

// On nettoie le code de turobolister
 $pattern1 = '#<TABLE CELLSPACING="28" CELLPADDING="0" WIDTH="100%"><TR><TD VALIGN="top"><DIV align=center>
<P><IMG src="http://www.****.com/img/blank1.gif"><BR><IMG src="http://www.****.com/img/logo****.gif"> </P>
<P><IMG src="http://www.****.com/img/blank2.gif"><BR></P></DIV>#';
 $pattern2 = '#<P>&nbsp;</P>
<DIV align=center>
<DIV align=center><FONT face=Georgia size=4><FONT size=4>
<DIV align=center></DIV></FONT></FONT></DIV></DIV></DIV></TD></TR></TBODY></TABLE>
<P>&nbsp;</P>
<P align=center><FONT face=Georgia>Pensez à visiter <A href="http://stores.shop.ebay.fr/****" target=_blank><B>nos autres objets en vente</B></A></FONT> <FONT face=Georgia>!</FONT><BR><BR><FONT face=Georgia>Ajoutez-nous à <A href="http://my.ebay.fr/ws/eBayISAPI.dll?AcceptSavedSeller&amp;mode=0&amp;preference=0&amp;sellerid=****&amp;ru=http%3A//cgi.ebay.fr/ws/eBayISAPI.dll?ViewItem&amp;item=110159416135&amp;ssPageName=STRK:MEFS:ADDVI" target=_blank><B>vos vendeurs favoris </B></A></FONT><FONT face=Georgia>!</FONT></P>
<P align=center><IMG src="http://www.****.com/img/blank3.gif"></P>
<P align=center><IMG src="http://www.****.com/img/powerseller-platine.jpg"></P>
</TD></TR><TR><TD VALIGN="top" ALIGN="center"></TD></TR></TABLE>#';
 $turbolister = preg_replace($pattern1, "", $turbolister);
 $turbolister = preg_replace($pattern2, "", $turbolister);


 
2e ESSAI :

Citation :

// On prend la partie nécessaire dans le code de turobolister
 $start = '<P><IMG src="http://www.****.com/img/blank2.gif"><BR></P></DIV>';
 $end = '<P>&nbsp;</P>
<DIV align=center>';
 $pattern = '#' . $start . '(.)' . $end . '#sU';
 preg_match_all($pattern, $turbolister, $match, PREG_SET_ORDER);
 $turbolister = $match[1];


 
Voilà, ces deux manières foirent.
 
Autant le 2e essai comporte une parenthèse capturante et j'ai donc moyen de me planter, autant le 1er essai est simple, la $pattern1 est bien supprimée, mais pas la 2e.
 
 
VÉRIFICATIONS DÉJA EFFECTUÉES :
- la $pattern est adéquate.
- il n'y a bien qu'une fois la $pattern dans le fichier escompté (donc pas de risque de confusion qui laisserait le code pantois).


Message édité par Gluonk le 29-07-2010 à 22:43:07

---------------
Feedback | Zappateers Radio [Bully's Streams] (http://zappateers.oblivion-software:8000)
mood
Publicité
Posté le 29-07-2010 à 20:19:19  profilanswer
 

n°2013034
Gluonk
Kopin
Posté le 29-07-2010 à 22:42:50  profilanswer
 

Résolu en nettoyant les $pattern de la méthode n°1 avec preg_quote().
 
Apparemment des caractères de la 2e $pattern posaient problème.


---------------
Feedback | Zappateers Radio [Bully's Streams] (http://zappateers.oblivion-software:8000)

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  [Résolu] preg_replace et preg_match_all dans les choux

 

Sujets relatifs
liste de validation entre deux classeurs?[résolu]Rendre Replace insensible à la casse
[RESOLU] seek + truncate remplissent de binaire !problème de div position absolute et IE [RESOLU]
[Resolu] Bug avec éléments flottants sur mise en page[Resolu] Problème formulaire envoi mail
[Résolu][Batch] Comparaison chaines de caractères[RESOLU] [Plugin] Ajouter patch à un plugin
str_replace et tableaux 
Plus de sujets relatifs à : [Résolu] preg_replace et preg_match_all dans les choux


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR