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

  FORUM HardWare.fr
  Programmation
  PHP

  simili parser sur du html avec des regexp

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

simili parser sur du html avec des regexp

n°969131
ctnul
Posté le 02-02-2005 à 11:40:50  profilanswer
 

Bonjour,
 
J'essaie d'extraire le texte d'une page html en fonction des balises avec les expressions régulieres.
 
Exemple d'essai d'extraction du titre:
 
$html="<div class="titre"> LE TITRE</div>
       <div class="auteur">L'AUTEUR</div>
       <div class="texte"> LE TEXTE</div>";
 
eregi("<div class=\"titre\">[a-zA-Z\-\.\']*</div>", $html, $res);
$item=ereg_replace("<div class=\"toc-title\">",'',$res[0]);
$item=ereg_replace("</div>",'',$item);
 
Le probleme c'est que ca marche pas du tout, j'ai l'impression que le probleme vient du fait qu'il y ai plusieurs </div> mais c'est peut etre pas du tout ca!

mood
Publicité
Posté le 02-02-2005 à 11:40:50  profilanswer
 

n°969133
FlorentG
Unité de Masse
Posté le 02-02-2005 à 11:42:05  profilanswer
 

Si la page est valide XHTML, tu peux utiliser des fonctions DOM XML qui sont 25 fois plus simples :)

n°969144
ctnul
Posté le 02-02-2005 à 11:51:19  profilanswer
 

Mais comment on fait pour obtenir du xhtml ou xml a partir d'une page html?
 
En fait j'essai sur sachant que j'ai choisit de voir les resultats avec "toto" http://www.ncbi.nlm.nih.gov/entrez [...] levance=on

n°969150
FlorentG
Unité de Masse
Posté le 02-02-2005 à 11:54:14  profilanswer
 

Ben l'html, ça fait longtemps qu'il ne faudrait plus l'utiliser. Maintenant, tout doit être fait en XHTML valide, pour bénéficier des outils XML... Maintenant le site que tu donnes ne respecte pas ça, du coup il faut que tu t'amuses avec des regexp :cry:

n°969157
ctnul
Posté le 02-02-2005 à 11:59:00  profilanswer
 

Bah tu t'y connais un peu en reg exp? Parce que perso je ne vois pas ce qu'il y de mauvais dans mon expression. Je crois que je vais réinventer la roue en faisant ma fonction de A à Z... snif ...snif

n°969164
soju
One shot !
Posté le 02-02-2005 à 12:00:30  profilanswer
 

ctnul a écrit :


$html="<div class="titre"> LE TITRE</div>
       <div class="auteur">L'AUTEUR</div>
       <div class="texte"> LE TEXTE</div>";
 
eregi("<div class=\"titre\">[a-zA-Z\-\.\']*</div>", $html, $res);
$item=ereg_replace("<div class=\"toc-title\">",'',$res[0]);
$item=ereg_replace("</div>",'',$item);


utilise plutôt preg_replace qui est plus rapide et plus complet, voici un exemple :

Code :
  1. if (preg_match("#<div class=\"titre\">([^<]*)</div>#i", $html, $match))
  2.   $titre = $match[1];


n°969179
ctnul
Posté le 02-02-2005 à 12:10:02  profilanswer
 

Waouh!! c'est beau une reg exp qui marche :)
Merci de ne pas me faire réinventer la roue.
 
Par contre en décrypté c'est quoi le # et #i?  
 

n°969207
soju
One shot !
Posté le 02-02-2005 à 12:30:12  profilanswer
 

ctnul a écrit :

Par contre en décrypté c'est quoi le # et #i?


# c'est un délimiteur de masque (tu peux utiliser aussi / ou autres) et i c'est pour l'option 'insensible à la casse'.

n°969385
ctnul
Posté le 02-02-2005 à 14:13:28  profilanswer
 

Parfait avec ca , la doc et un bon petit repas je vais m'amuser toute l'après midi.
 
Merci et bon ap,
C.


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

  simili parser sur du html avec des regexp

 

Sujets relatifs
Comment afficher une page html depuis une application java [Réglé]parser un fichier xml en java
recherche site langage html livre d'or compteur etcRécupéré un pdf derrière une page accéssible via formulaire html
Insérer une variable javascript dans dans HTML [RESOLU]inclure un fichier txt a une page web en html
Parser BBCodeTransformer un gif en frame html
HTML : peut-on imbriquer des tableaux ?[JavaCC]Problème pour créer un mini-parser pour prog de math
Plus de sujets relatifs à : simili parser sur du html avec des regexp


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