Je suis triyng pour extraire un peu d'url, il peut y en avoir plus d'un, qui viennent dans un courriel de corps.Comment extraire href d'un courriel de corps, en Perl?
Et je suis en train d'analyser les urls, avec ceci:
use strict;
use warnings;
use Net::IMAP::Simple;
use Email::Simple;
use IO::Socket::SSL;
# here must be the connection to imap hidden for economize space
my $es = Email::Simple->new(join '', @{ $imap->get($i) });
my $text = $es->body;
print $text;
my $matches = ($text =~/<a[^>]*href="([^"]*)"[^>]*>.*<\/a>/);
print $matches;
Le texte $ i ont le prochain texte:
--047d7b47229eb3d9f404e58fd90a
Content-Type: text/plain; charset=ISO-8859-1
Try1 <http://www.washingtonpost.com/>
Try2 <http://www.thesun.co.uk/sol/homepage/>
--047d7b47229eb3d9f404e58fd90a
Content-Type: text/html; charset=ISO-8859-1
<div dir="ltr"><a href="http://www.washingtonpost.com/">Try1</a><br><div><br></div><div><a href="http://www.thesun.co.uk/sol/homepage/">Try2</a><br></div></div>
--047d7b47229eb3d9f404e58fd90a--
La sortie du programme, me donne un 1
... juste ça.
Quelqu'un peut-il aider ??
Merci dans le conseil.
[* Ne pas * HTML parse avec regexp] (http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags/1732454# 1732454). – Carsten
Ce module est inutile si c'est ce qu'il vous donne pour le corps. – ikegami
** N'utilisez pas d'expressions régulières pour analyser HTML. Utilisez un module d'analyse syntaxique HTML approprié. ** Vous ne pouvez pas analyser le code HTML de manière fiable avec des expressions régulières, et vous serez confronté à la tristesse et à la frustration sur la route. Dès que le HTML change de vos attentes, votre code sera brisé. Voir http://htmlparsing.com/php ou [ce thread SO] (http://stackoverflow.com/questions/3577641/how-do-you-parse-and-process-html-xml-in-php) pour des exemples de comment analyser correctement HTML avec des modules PHP qui ont déjà été écrits, testés et débogués. –