Visual Basic Foro
Programación => Visual Basic 6 => Mensaje iniciado por: LeandroA en Septiembre 06, 2012, 04:19:23 pm
-
Hola, tras muchos intentos, me doy por vencido, quiero parsear un html utilizando RegExp y recuperar <link rel='shortcut icon' y obtener el href, también el <meta itemprop="image" content="/images/google_favicon_128.png"> en este caso el "content" , con este Pattern <(\/?)(\w+)[^>]*(\/?)> puedo recuperar cada elemento, pero me gustaría saber como consultar los atributos de esos elementos (href , content)
mi idea obtener el favicon de la pagina. es posible hacer lo que quiero con una sola expresión regular?.
-
Mirá, es medio rebuscado usar expresiones regulares para parsear HTML, te conviene ir partiendo usando strings. Ejemplo hacer un InStr("<body") y lo que esta desde el principio hasta donde te devuelva el Instr con eso trabajar la expresion regular
No pude hacer para detectar con una sola regExp para sacar el del tag Link y Meta, así que hice 2 :P
para obtener el href del link "shorcut icon" por ahora me sale:
<link\s*(?:rel=['"]?shorcut icon['"]?\s*|href=['"]?(\w+)['"]?\s*|[^>])+>Siendo el SubMatches(1) deberia ser el href
y para el meta
<meta\s*(?:itemprop=['"]?image['"]?\s*|content=['"]?([^'"]+)['"]?\s*|[^>])+>
PD: No se si vayan a funcionar en visual basic. Las regExp en vb estan limitadas, no aceptan ciertas caracteristicas, no se porque. pero bueno, si no llega a funcionar, es por que hay [^(algo)] y no recuerdo si se puede hacer eso en las expReg en vb :P
Cualquier cosa contestas :P
-
debe haber algun parseador HTML en PSC capas, me da bronca que en VB6 se tenga que hacer tanto lio, y en .NET con una libreria, en 1 linea haces todo 8), pero bueno asi es.