cmiss16
Messages postés21Date d'inscriptionlundi 3 avril 2006StatutMembreDernière intervention13 novembre 2006
-
16 oct. 2006 à 12:49
dthuler
Messages postés121Date d'inscriptiondimanche 9 mars 2003StatutMembreDernière intervention29 avril 2009
-
19 oct. 2006 à 14:53
Bonjour,
Je lis chaque ligne d'un fichier.
Pour chacune de ses lignes j'aimerai extraire url si elle existe ( et seulement elle!)
voici un exemple de ligne
"<td valign="middle" align="center">[http://www.toto.fr/FRANCE">TOTO</td>"
dthuler
Messages postés121Date d'inscriptiondimanche 9 mars 2003StatutMembreDernière intervention29 avril 2009 16 oct. 2006 à 13:21
Salut!
Voici une proposition;
Private Function GetHTTPAdresse(Ligne As String) As String
intDebPosition = InStr(1, Ligne, "http://")
If intDebPosition > 0 Then
intFinPosition = InStr(intDebPosition, Ligne, Chr(34))
GetHTTPAdresse = Mid(Ligne, intDebPosition, intFinPosition - intDebPosition)
Else
GetHTTPAdresse = ""
End If
End Function
dthuler
Messages postés121Date d'inscriptiondimanche 9 mars 2003StatutMembreDernière intervention29 avril 2009 19 oct. 2006 à 10:15
Ton exemple comprends plusieurs lignes...
Cependant il est vrai que la fonction que je t'ai donnée comprends une grosse lacune; il est possible en HTML de mettre plusieurs "Tags" sur une même ligne... la solution complète est dans le même goût. Pour garder la fonction existante, je te propose de la compléter comme suit;
La première fonction dans un module ainsi que la suite:
Public Type monHTTP
Adresses() As String
End Type
Public Function LireToutesLesAdresses(Ligne as String) As monHTTP
Dim DebutTag As Integer, FinTag As Integer, intIndex As Integer
FinTag = 0
intIndex = 0
Do
DebutTag = InStr(FinTag, Ligne, "[)
FinTag = InStr(DebutTag, Ligne, ")
ReDim LireToutesLesAdresses(intIndex)
LireToutesLesAdresses.Adresses(intIndex) = GetHTTPAdresse (Mid(Ligne, DebutTag, Len(Ligne) - DebutTag + 1))
intIndex = intIndex + 1
Loop While DebutTag > 0
End Function
Tu appelles la fonction depuis ton prog par;
Dim MesAdresses As monHTTP
MesAdresses = LireToutesLesAdresses(LigneHTML)
Bon, ok c'est fait à la husse, je l'ai pas testé (pour une fois) mais ça devrait fonctionner.
La fonction LireToutesLesAdresses parcours la ligne et extrait les ] et GetHTTPAdresse lui renvoie l'adresses HTTP... question à 2 francs: Qu'est-ce qu'il se passe si du CSS ou du script vb ou js par exemple se trouve dans le <A HREF ??? A toi de modifier le code en conséquence si besoin
David
Vous n’avez pas trouvé la réponse que vous recherchez ?
dthuler
Messages postés121Date d'inscriptiondimanche 9 mars 2003StatutMembreDernière intervention29 avril 2009 19 oct. 2006 à 11:18
Oupsss, rajoute le mot-clé Preserve après ReDim sinon il efface le tableau à chaque fois, désolé.
(j'utilise cette méthode par soucis d'économie de mémoire mais surtout parce que je connais la taille max du tableau à chaque modif, c'est plus pratique!)