IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Problème regex pour aller à la fin de ligne


Sujet :

Langage PHP

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 11
    Points : 7
    Points
    7
    Par défaut Problème regex pour aller à la fin de ligne
    Re-bonjour, je vous expose mon deuxième gros problème de la journée.

    A l'aide de regex, je suis censé enlever dans mon code toutes les tables qui ne sont pas affichées, par exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
         <table style="display: none;"  border="0" cellpadding="0" cellspacing="0" width="300"></table>
    Dans ce cas là, cette regex marche très bien :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    	if(preg_match('#<table(.*?)display: none;"#',$lc_contents))	{
    		$lc_contents=preg_replace('#<table(.*?)display: none;"(.*?)</table>#','',$lc_contents);
    	}
    Le problème se pose quand il y a 2 tables imbriquées, par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
         <table style="display: none;"  border="0" cellpadding="0" cellspacing="0" width="300">
    < table style="display: block;"    /table>
    /table>
    Le problème est que ma regex va allée chercher la première fin de table, et ce bloc : va rester tout seul.
    Comment faire pour indiquer à ma regex qu'il faut regarder sur la même ligne s'il n'y a pas une autre table qui est ouverte et lui signifier qu'il faut englober la totalité des /table> ?

    Mon problème est compliqué a expliqué mais j'espère que vous voyez où je veux en venir.

    Toute idée ou toute aide sera la bienvenue ...
    Merci d'avance

  2. #2
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 727
    Points
    10 727
    Par défaut
    pour parser et manipuler du HTML c'est DOMDOcument

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 11
    Points : 7
    Points
    7
    Par défaut
    Je ne connais pas du tout DOMDocument, et j'ai essayé de me renseigner mais j'ai pas trouvé de bon tuto ... si quelqu'un en a un sympa qui explique comment extraire du code sur un fichier HTML je suis preneur ...
    Merci

Discussions similaires

  1. Problème pour aller à la ligne dans une MsgBox
    Par Runsh63 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 29/09/2011, 14h18
  2. Problème avec le caractère de fin de ligne entre linux et windows
    Par Dosseh dans le forum Programmation et administration système
    Réponses: 3
    Dernier message: 28/07/2009, 14h04
  3. Problème REGEX pour réécriture
    Par MrBibendum dans le forum Apache
    Réponses: 2
    Dernier message: 19/07/2008, 13h16
  4. instruction pour aller à la ligne
    Par pogy dans le forum ASP
    Réponses: 2
    Dernier message: 11/05/2006, 15h20
  5. [XSL] probléme pour imprimer un saut de ligne (<br> )
    Par linniesurf dans le forum XSL/XSLT/XPATH
    Réponses: 6
    Dernier message: 16/01/2006, 16h55

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo