2011-06-13 2 views
1

J'essaie de faire une petite fonction de partage de liens avec Classic ASP comme LinkedIn ou Facebook.Extraire toutes les images de HTML dont la largeur ou la hauteur est supérieure à une valeur spécifiée - Regex

Ce que je dois faire est d'obtenir le HTML de l'URL distante et d'extraire toutes les images dont la largeur est supérieure à 50px par exemple.

Je peux ramper et de prendre le code HTML et aussi je peux trouver les images avec cette regex:

<img([^<>+]*)>

Il correspond; Ensuite, je suis en mesure d'extraire le chemin, mais parfois il correspond à <img src="/track.php" style="display:none" width="1" height="1"/> qui n'est pas une image réelle.

Quoi qu'il en soit, je me sens comme tu vas être fou à cause de l'ASP classique, mais ma compagnie ....

Je sais qu'il ya beaucoup de sujets sur cette question et la plupart du temps, ils recommandent de ne pas utiliser regex mais je ne pouvait pas trouver un moyen de cela avec ASP classique. Y a-t-il un composant ou quelque chose à cela?

Cordialement

+2

Vous ne pouvez pas comparer les chiffres avec un (sain d'esprit) regex. – SLaks

+1

Que se passe-t-il si le tag d'image ne spécifie pas de dimmensions? – Francisc

+0

@ SLaks ♦: Ok, alors je suppose que je dois vérifier chaque image que l'expression régulière correspond à Microsoft.XMLHTTP. [link] (http://forums.aspfree.com/code-bank-54/get-remote-image-width-and-height-using-pure-asp-113649.html) –

Répondre

0

Cela vous approcher:

<img [^>]*width="(0?[1-9]\d{2,}|[5-9]\d)"[^>]*> 

Il accepte les balises d'image avec une largeur de 50 ou plus.

Edit: tags avec des largeurs non précisées:

<img [^>]*width="(0?[1-9]\d{2,}|[5-9]\d)"[^>]*>|<img ((?!width=)[^>])*> 
+0

Problèmes fous engendre des solutions plus fous .... je suis d'accord avec @ SLaks, cependant. Si vous avez une autre option, prenez-la. –

+0

merci @ agent-j mais comme @Francisc indiqué, regex échouera si la balise d'image ne spécifie pas les dimensions. –

+0

Et si la hauteur vient avant la largeur? – SLaks

Questions connexes