Extraire une ligne dans un texte ... [Résolu]

Jeromedu79 120 Messages postés dimanche 9 janvier 2011Date d'inscription 23 décembre 2012 Dernière intervention - 30 juil. 2011 à 22:09 - Dernière réponse : Jeromedu79 120 Messages postés dimanche 9 janvier 2011Date d'inscription 23 décembre 2012 Dernière intervention
- 31 juil. 2011 à 17:45
Bonjour,

Voila depuis hier, je cherche à extraire une "sous chaine" d'un code source html.

Exemple :

Prenons le code source de la page d’accueil de vbfrance :

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
    <head id="m_head1"><title>
VBFrance.com | Visual Basic, VB6, VB.NET, VB 2005, VB CodeS SourceS  |  16828 sources VB, VB.NET, ASP.NET VBA, ASP, VBScript, VB Scripts, Source, Code, Programmation, Cours , Tutorial, Tutoriaux etc...
</title><meta name="author" content="Nix" /><meta name="owner" content="Nicolas SOREL (Nix)" /><meta name="description" content="Beaucoup de Codes Sources pour visual basic, VB.NET VB, VB 5, VB 6, VB5, VB6, ASP, VBA, VBScript, France, Francais, French" /><meta name="keywords" content="Visual Basic Codes Sources, Visual Basic sources, Scripts, Programmation, Developper, Programmer, Developpement, Cours , Tutorial, Tutoriaux, aide, informations, VB, VB4, VB5, VB6, ASP, VBScript, VBA, Windows 95, Windows 98, Windows NT4, Windows 2000, Sources, Codes, France, Francais, French" /><meta name="ROBOTS" content="INDEX,FOLLOW" /><meta name="ROBOTS" content="NOARCHIVE" /><meta name="MS.LOCALE" content="fr-FR" /><link id="m_RssCode" rel="alternate" title="Nouveaux codes" href="/rss.aspx" type="application/rss+xml" /><link id="m_RssForum" rel="alternate" title="Derniers Messages" href="/rss.aspx?type=forum" type="application/rss+xml" /><link id="m_Link1" rel="alternate" title="Blogs" href="http://blogs.codes-sources.com/MainFeed.aspx" type="application/rss+xml" /><link rel="alternate" title="Offres d'emploi" href="http://emploi.codes-sources.com/rss.aspx" type="application/rss+xml" /><link rel="alternate" title="Appels d'offres" href="http://feeds.feedburner.com/AppelsDoffres" type="application/rss+xml" /><link rel="search" title="Search.CodeS-SourceS.com" type="application/opensearchdescription+xml" href="http://search.codes-sources.com/opensearch.xml" /><link rel="SHORTCUT ICON" type="images/x-icon" href="/favicon.ico" /><link id="m_csslayout" type="text/css" rel="stylesheet" href="/css/layouts/vbfrance.css" /><link type="text/css" rel="stylesheet" href="/css/common.css?v=4" /><script type="text/javascript">var agp='SW5kZXinMKdodHRwOi8vd3d3Lmdvb2dsZS5mci91cmw/c2E9dCZzb3VyY2U9d2ViJmNkPTEmdmVkPTBDQmdRRmpBQSZ1cmw9aHR0cCUzQSUyRiUyRnd3dy52YmZyYW5jZS5jb20lMkYmcmN0PWomcT12YmZyYW5jZSZlaT1yV00wVHF6NE1NYUYtd2JRNFoyTkRRJnVzZz1BRlFqQ05GZnd6ZGcwRzY0c0hVb2lUVGpVYnQ0VW9iYUhRJnNpZzI9V1lpbS1IaWlFeDU2VWNtcnJVZWVqZw==';</script><script type="text/javascript" src="/js/ggads.js?v=6"></script><script type="text/javascript" src="/js/googafs.js?v=2"></script>
<script type="text/javascript" src="http://partner.googleadservices.com/gampad/google_service.js"></script><script type="text/javascript">GS_googleAddAdSenseService("ca-pub-6890369573773430");GS_googleEnableAllServices();</script><script type="text/javascript">GA_googleAddSlot("ca-pub-6890369573773430","CS_VBFRANCE_HomePage_Carre");GA_googleAddSlot("ca-pub-6890369573773430","CS_VBFRANCE_HomePage_LargeBanner");GA_googleAddSlot("ca-pub-6890369573773430","NEXT_Carre");GA_googleAddSlot("ca-pub-6890369573773430","NEXT_LargeBanner");</script><script type="text/javascript">GA_googleFetchAds();</script>
<script type="text/javascript">window.google_analytics_uacct = "UA-344156-19";</script></head>
    

        <li>Devenir membre club</li><li>[# Mon compte]<li>Mon espace membre</li><li>G&#233;rer vos alertes email</li></li><li>[# Mes Sources]<li>Toutes mes sources</li><li>Ajouter une source</li><li>Modifier une source</li></li><li>[# Mes Tutoriels]<li>Tous mes tutoriels</li><li>Ajouter un tutoriel</li><li>Modifier un tutoriel</li></li><li>[# Ma Messagerie]<li>Ma bo&#238;te de r&#233;ception</li><li>Ma bo&#238;te d'envoi</li><li>Mon carnet d'adresse</li><li>Ecrire un message</li></li><li>[# Mes Favoris]<li>Tous mes favoris</li><li>Les codes</li><li>Les livres</li><li>Les RFC</li><li>Les messages du forum</li></li><li>[# Aide &amp; r&#232;glement]<li>Votre 1&#232;re visite</li><li>Le r&#232;glement</li><li>Contacter les admins</li><li>Contacter le webmaster</li></li><li>[# Questions &amp; r&#233;ponses]<li>Comment soutenir CodeS-SourceS</li><li>Comment faire un lien vers CodeS-SourceS</li><li>Autres questions</li></li><li>[# A propos &amp; don]<li>A propos du r&#233;seau</li><li>Les mod&#233;rateurs</li><li>Remerciements</li><li>Faire un don</li><li>Le livre d'or</li></li><li>Tous les livres</li><li>Les derni&#232;res parutions</li><li>Les plus consult&#233;s</li><li>Les critiques</li><li>Le top des ventes</li><li>Le top favoris des membres</li><li>Recevoir des livres blancs</li><li>Tous les th&#232;mes</li><li>Les derniers messages</li><li>Les nouveaux messages</li><li>Poser une question</li><li>Le Chat - IRC</li><li>Tous les tutoriels</li><li>Ajouter un tutoriel</li><li>Les tutoriels en vid&#233;o</li><li>Les formations vid&#233;os</li><li>Tous les codes</li><li>Ajouter un code</li><li>Filtrer par cat&#233;gorie</li><li>[# Filtrer par date]<li>Les plus r&#233;cents</li><li>Les mis &#224; jour</li><li>Les codes par jour</li></li><li>[# Filtrer par niveau]<li>Niveau d&#233;butant</li><li>Niveau initi&#233;</li><li>Niveau expert</li></li><li>[# Filtrer par type]<li>Les codes avec capture</li><li>Les codes avec zip</li><li>Les codes .Net</li></li><li>[# Filtrer par qualit&#233;]<li>Les plus populaires</li><li>Les plus populaires du mois</li><li>Les plus t&#233;l&#233;charg&#233;s</li><li>Les mieux not&#233;s</li><li>Top par cat&#233;gorie</li><li>Top des favoris</li></li><li>[# Filtrer par auteur]<li>Tous les auteurs</li><li>Le top des membres</li></li><li>Les snippets</li><li>D&#233;poser votre CV</li><li>Consulter les offres d'emploi ou de stage</li><li>Consulter les CVs</li><li>D&#233;poser une offre d'emploi ou de stage</li><li>Mod&#232;les de CV et lettres</li><li>Trouver une convention collective</li><li>[# Les &#233;coles d'informatique]<li>Toutes les &#233;coles</li><li>Ajouter une &#233;cole</li></li><li>[# Les outils]<li>Outils pour d&#233;veloppeurs</li><li>Trouver des ressources</li><li>Base de donn&#233;es de CodeS-SourceS</li><li>T&#233;l&#233;charger les meilleurs logiciels</li><li>Comparer les prix</li><li>Envoyer des ecards</li><li>Cr&#233;ation de banni&#232;res</li></li><li>[# Annuaire de la prog]<li>Tous les sites</li><li>Ajouter votre site</li></li><li>[# Le dico de la prog]<li>Toutes les d&#233;finitions</li><li>Ajouter une d&#233;finition</li></li><li>[# Les &#233;v&#232;nements]<li>Tous les &#233;v&#232;nements</li><li>Les &#233;v&#232;nements &#224; venir</li><li>Ajouter un &#233;v&#232;nement</li></li><li>[# T&#233;l&#233;chargements]<li>CodeS-SourceS Toolbox</li><li>CodeS-SourceS Toolbar</li><li>Toolbar pour FireFox</li><li>Fonds d'&#233;cran</li><li>Les compil's</li></li><li>[# Nos partenaires]<li>Magazine Programmez</li><li>Frontier.fr</li><li>Xiti</li><li>ProgOnline</li><li>Winwise</li><li>Editions Eyrolles</li><li>Toute la liste</li></li><li>Les RFC</li>

        <form name="aspnetForm" method="post" action="/default.aspx" id="aspnetForm">








<script type="text/javascript">
//<![CDATA[
var theForm = document.forms['aspnetForm'];
if (!theForm) {
    theForm = document.aspnetForm;
}
function __doPostBack(eventTarget, eventArgument) {
    if (!theForm.onsubmit || (theForm.onsubmit() != false)) {
        theForm.__EVENTTARGET.value = eventTarget;
        theForm.__EVENTARGUMENT.value = eventArgument;
        theForm.submit();
    }
}
//]]>
</script>


(J'ai un peux raccourci).

Maintenant, je souhaite extraire :




Même imaginons que les valeurs de name change a chaque ouverture du logiciel.
Il faudrait donc extraire de ""

J'ai essayé avec la méthode split(0) -> "split(Source, "<input") mais cela me donne tous ce qu'il y a avant "<input", et quand j'essaye avec split(1), je suis en dehors des limites du tableau.


Merci.
Afficher la suite 

Votre réponse

7 réponses

Meilleure réponse
NHenry 14182 Messages postés vendredi 14 mars 2003Date d'inscription 25 mai 2018 Dernière intervention - 30 juil. 2011 à 22:31
3
Merci
Bonjour,

Voir avec le parseur XML (System.Xml.*).
Cela te permettra d'analyser le fichier plus facilement.

Sinon, il faudrait voir du coté des jokers (Like) ou des Regex.

---------------------------------------------------------------------
[list][*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : )
[*]Si votre problème est résolu, pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés./list
---
Mon site

Merci NHenry 3

codes-sources a aidé 82 internautes ce mois-ci

Commenter la réponse de NHenry
Meilleure réponse
NHenry 14182 Messages postés vendredi 14 mars 2003Date d'inscription 25 mai 2018 Dernière intervention - 31 juil. 2011 à 01:26
3
Merci
Bonjour,

Ton problème est de récupérer les données d'un fichier XHTML/XML ou de récupérer une données quelconque ?

Dans le premier cas, un coup de System.Xml.*, ensuite, tu recherches les éléments qui t'intéresse et tu en récupères les données (attributs et données).

Dans le 2ième, il faut savoir si ce que tu cherches est toujours à la même place ou si il faut moduler.

Le premier cas est plus simple à gérer si tu as un fichier XML/XHTML, car même si la balise est sur plusieurs lignes, tu la récupèreras sans pb avec le parseur.

A toi de voir quelle partie t'intéresse dedans, ensuite, j'adapterais ma réponse.

---------------------------------------------------------------------
[list][*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : )
[*]Si votre problème est résolu, pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés./list
---
Mon site

Merci NHenry 3

codes-sources a aidé 82 internautes ce mois-ci

Commenter la réponse de NHenry
Jeromedu79 120 Messages postés dimanche 9 janvier 2011Date d'inscription 23 décembre 2012 Dernière intervention - 31 juil. 2011 à 00:58
0
Merci
Bonjour,

Je crois que le code source de vbfrance était un mauvais exemple

Essayons avec un texte

Bonjour,
Aujourd'hui, il fait 24° à l'ombre.
Nous somme le 30 Juillet 2011 et il est 0h54


Je voudrais récupérer par exemple la date, donc il faudrait délimiter séparé le texte en fonction de deux critère ("le", "et")

Avec la fonction split, sa fonctionnais bien quand on n'avais

24°|30 Juillet 2011|0h54


Il suffisait juste de faire ceci :

Dim Text as string = "Bonjour," & vbcrlf & "Aujourd'hui, il fait 24° à l'ombre." & vbcrlf & "Nous somme le 30 Juillet 2011 et il est 0h54"

Dim Tableau() as string = split(text, "|")

msgbox(Tableau(1))
Commenter la réponse de Jeromedu79
Jeromedu79 120 Messages postés dimanche 9 janvier 2011Date d'inscription 23 décembre 2012 Dernière intervention - 31 juil. 2011 à 00:59
0
Merci
Dim Text as string = "24°|30 Juillet 2011|0h54"

Dim Tableau() as string = split(text, "|")

msgbox(Tableau(1))


Je me suis trompé ^^"
Commenter la réponse de Jeromedu79
Jeromedu79 120 Messages postés dimanche 9 janvier 2011Date d'inscription 23 décembre 2012 Dernière intervention - 31 juil. 2011 à 12:18
0
Merci
Bonjour,

Oui en effet, la partie que j'essaye d'extraire est dans un code source XML/XHTML/HTML (Je ne m'y connais pas trop dans le dev' web)

Je viens de trouvé un lien qui explique comment parser le HTML

Ce lien est t'il ce que je cherche ?
Commenter la réponse de Jeromedu79
NHenry 14182 Messages postés vendredi 14 mars 2003Date d'inscription 25 mai 2018 Dernière intervention - 31 juil. 2011 à 13:17
0
Merci
Bonjour,

ça Semble en effet correspondre à ton besoin, mais il est en VB6, il te faudra donc adapter le code.

---------------------------------------------------------------------
[list][*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : )
[*]Si votre problème est résolu, pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés./list
---
Mon site
Commenter la réponse de NHenry
Jeromedu79 120 Messages postés dimanche 9 janvier 2011Date d'inscription 23 décembre 2012 Dernière intervention - 31 juil. 2011 à 17:45
0
Merci
Bonjour,

Je vais essayer et adapter le code et voir ce si cela correspond à mes besoins.

Merci
Commenter la réponse de Jeromedu79

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.