Regex Tag <img /> - PHP - Programmation
Marsh Posté le 22-08-2012 à 09:27:36
Tu peux donner un exemple de valeur pour $source et $matches
J'ai pas compris le pb
Marsh Posté le 22-08-2012 à 09:32:23
Oui je n'ai peut être pas assez détaillé... Je veux matcher tout les src de tag <img />. Ces src peuvent être soit entre simple quote ', soit entre double quote ".
Ça me pose un problème si j'ai un src entouré de " et contenant un '.
Il faudrait pouvoir spécifier que la fin de la chaîne à matcher doit être marquée par le même caractère qu'au début, un ' ou un " mais pas les deux.
Marsh Posté le 22-08-2012 à 10:03:00
Mon conseil : laisse tomber les regexps. Pour du contenu complexe comme du html, c'est pratiquement impossible de traiter tous les cas possibles (sans compter les cas interdits en théorie, mais qu'on peut rencontrer en pratique)
Utilise plutôt un parser html.
Marsh Posté le 22-08-2012 à 10:18:02
As-tu des outils en tête ? Parce que SimpleXML ou Dom n'aiment pas trop les document html mal formés. C'était d'ailleurs pour ça que je m'étais tourné vers une regex. Surtout que dans les quelques milliers de doc html que je dois traiter, le problème que je donne est le seul que je rencontre.
Marsh Posté le 22-08-2012 à 11:12:48
dwogsi a écrit : Oui je n'ai peut être pas assez détaillé... Je veux matcher tout les src de tag <img />. Ces src peuvent être soit entre simple quote ', soit entre double quote ". |
tu peux pas simplement le faire en 2 étapes ? un si le fisrt caractère est " et un autre si le first est ' comme cela tu connais le caractère de fin ?
Pas forcement très jojo mais tu maîtrises plus le process
Marsh Posté le 22-08-2012 à 11:15:44
Recherche Google "php html parser", premier résultat : http://simplehtmldom.sourceforge.net/
Citation : A HTML DOM parser written in PHP5+ let you manipulate HTML in a very easy way! |
Je ne connais pas du tout, mais ça me semble être exactement ce dont tu as besoin (d'ailleurs, l'exemple donné va justement extraire les src de tous les tags img)
Marsh Posté le 22-08-2012 à 11:41:20
KLeMiX a écrit : |
Oui en effet en deux étapes ça doit passer. Je vais tester ça, ça ne me plait pas particulièrement mais ça m'économisera du temps
Riokmij a écrit : Recherche Google "php html parser", premier résultat : http://simplehtmldom.sourceforge.net/
|
Ma question était plutôt de savoir si tu en avais testé, sinon je me débrouille pas trop mal avec Google Mais merci quand même.
Marsh Posté le 22-08-2012 à 11:52:23
dwogsi a écrit : |
Jusqu'au jour où tu tomberas sur du html avec un retour à la ligne avant l'attribut src, ou un src non-quoté, ou je ne sais pas trop quoi encore. Et à chaque fois, il faudra revenir bricoler l'expression régulière.
dwogsi a écrit : |
Je fais pas du tout de PHP
Marsh Posté le 20-08-2012 à 19:27:56
Bonsoir,
Mon problème concerne une expression regulière dont l'objectif est de matcher tout les tag <img /> d'une source texte. J'utilise le code suivant qui fonctionnait très bien :
Sauf que je viens de tomber sur l'immonde cas ou on a le code html suivant :
Notez le single quote dans le src du tag... de sorte que mon expression régulière ne catch pas tout le contenu du src. Là j'avoue que mes connaissances en expression régulières sont trop limités pour me sortir de ce problème. Je viens donc demander votre aide.
J'ai fais des recherche, mais rien de très concluant. Merci pour votre aide
---------------
-- Debian -- Le système d'exploitation universel | Le gras c'est la vie! | /(bb|[^b]{2})/