LIRE UNE PAGE HTML OU PHP POUR TROUVER UN MOT PARTICULIER

Signaler
Messages postés
921
Date d'inscription
vendredi 20 décembre 2002
Statut
Membre
Dernière intervention
23 septembre 2010
-
Messages postés
35
Date d'inscription
mardi 3 avril 2007
Statut
Membre
Dernière intervention
10 avril 2008
-
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/3251-lire-une-page-html-ou-php-pour-trouver-un-mot-particulier

Messages postés
35
Date d'inscription
mardi 3 avril 2007
Statut
Membre
Dernière intervention
10 avril 2008

Bonjour à tous,

j'ai testé ce code car j'ai effectivement besoin de vérifier si une chaine de caractère se trouve ou non dans une page html.

Voici le code de ma petite appli qui est quasiment le même que celui plus haut:

Public Class Form1

    Public Function lireSource2(ByRef doc As HtmlDocument, ByVal mot As String) As Boolean
        'Parametre en entree :
        '  - doc  = HTMLDocument en provenance du WebBrowser
        '  - mot  = mot a retrouver dans la page web (HTML ou PHP)
        'Parametre en Sortie : booléen vrai si mot trouvé, faux si non


        If InStr(doc.Body.InnerHtml, mot) Then

            lireSource2 = True
        Else
            lireSource2 = False
        End If


    End Function

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

        Dim adresse As String
        adresse = TextBox1.Text
        AxWebBrowser1.Navigate(adresse)
        TextBox3.Text = lireSource2(AxWebBrowser1.Document, TextBox2.Text)

    End Sub
End Class


A la ligne If InStr(doc.Body.InnerHtml, mot) j'ai l'erreur suivante: La référence d'objet n'est pas définie à une instance d'un objet.

Pourtant je reprend le code de notre ami qui a l'air de fonctionner. Quelqu'un aurait-il une idée?

Merci à vous.

Korne
Messages postés
14
Date d'inscription
jeudi 19 mai 2005
Statut
Membre
Dernière intervention
30 décembre 2006

Voici une petite modif de ton code (légère amélioration)
à la ligne 8 mettez :

InStr(1, doc.body.innerHTML, mot, 1)

Si vous voulez rechercher un mot dans la page web sans vous soucier des minuscules/majuscules (si vous recherchez "perdu" et qu'il trouve "PeRDu" il renverra VRAI)

ou alors mettez :

InStr(1, doc.body.innerHTML, mot, 0)
Si vous voulez vous souciez des minuscules/majuscules (si vous recherchez "perdu" et qu'il trouve "PeRDu" il renverra FAUX)

--------------------------------------
Syntaxe :

InStr(A, B, C, D)

Avec :

A : le n° du caractère de la chaine de caractères à partir duquel il faut commencer la recherche

B: la chaine de caractères (ici la page web) dans laquelle on rechreche une autre chaine de caractères

C: la chaine de caractères recherchée

D: 0 ou 1 --> 0: différence entre majuscules et minuscules
1: pas de différence minuscules/majuscules

Voilà! En espérant que cela vous aidera!
Messages postés
14
Date d'inscription
jeudi 19 mai 2005
Statut
Membre
Dernière intervention
30 décembre 2006

mettez mot à la place de "perdu" à la 8e ligne et hop ça marche :)
Messages postés
4030
Date d'inscription
mardi 13 mai 2003
Statut
Modérateur
Dernière intervention
23 décembre 2008
22
'mot' ne sert à rien dans ta fonction. Et il serait pas mal de montrer comment elle peut être appelée.
Afficher les 8 commentaires