tchoumak Posté 14 Novembre 2006 Posté 14 Novembre 2006 Bonjour à tous, J'ai un petit problème au niveau d'une expression régulière. Je souhaite extraire le titre PRINCIPAL d'un flux RSS de blog. Voici en gros comment se présente les flux RSS : <?xml version="1.0" encoding="ISO-8859-1"?> <rss version="2.0"> <channel> <title>Le titre général de mon blog</title> <link>http://www.site.com</link> <description>Description générale</description> <item> <title>Titre article 1</title> <link>http://www.site.com/article1.php</link> <pubDate>10 Nov 2006 07:23</pubDate> <description>Blablabla</description> </item> <item> <title>Titre article 1</title> <link>http://www.site.com/article1.php</link> <pubDate>10 Nov 2006 07:23</pubDate> <description>Blablabla</description> </item> <item> ... </item> </channel> </rss> Je souhaite extraire le champ Le titre général de mon blog, mais j'ai un problème avec le redondance de la balise </title> Pouvez vous m'aider ?
Patrick Posté 14 Novembre 2006 Posté 14 Novembre 2006 Salut, je ne suis pas un spécialiste de la chose, mais tu essaiyais d'inclure le <channel> dans ton expression régulière pour obtenir un truc du genre : <channel><title>(.*)</title> ++ Patrick
tchoumak Posté 14 Novembre 2006 Auteur Posté 14 Novembre 2006 Merci pour ta réponse, mais en fait c'est avec le </title> de fin que j'ai un probleme, pas avec le premier
vanadium Posté 14 Novembre 2006 Posté 14 Novembre 2006 Pourquoi n'utilises-tu pas un parser RSS comme il en existe des milliers deja fait sur le net ? ça t'evitera bien des soucis avec les expressions regulieres. Ex : http://classes.scriptsphp.net/doc.rss200 Très simple à utiliser et diablement efficace.
Patrick Posté 14 Novembre 2006 Posté 14 Novembre 2006 Merci pour ta réponse, mais en fait c'est avec le </title> de fin que j'ai un probleme, pas avec le premier Salut, heu tu peux préciser le problème ? L'échappement du / ? ++ Patrick
captain_torche Posté 14 Novembre 2006 Posté 14 Novembre 2006 Non, j'imagine qu'il doit capturer tout ce qui se trouve entre le premier <title> et le dernier </title>, c'est bien ça ?
Leonick Posté 18 Novembre 2006 Posté 18 Novembre 2006 il suffit de remplacer (.*) par ([^<]*) comme cela aucune balise ne sera prise dans la capture
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant