2012-01-11 152 views
-2

如何检测文本中的网址并确定网址是否为图像?检测文本中的链接,并确定它是否是图像

我想如果可能做到这一点在JavaScript。基本上我有一个和我的用户将输入他们的意见。有些时候他们会粘贴图像链接。

我想如果URL是一个图像预览图像。检查扩展可能不是我想要的解决方案,因为.php扩展可能也会提供图像。

+0

你可以使用正则表达式搜索以jpg结尾的网址文字,TIF,BMP,GIF,... – 2012-01-11 01:08:52

+2

哪种语言做你想要做这个吗? OK,您是否有任何一个标记您的问题? “如果网址是图片”的标准是什么?只是测试像“.jpg”或“.png”这样的常见图片扩展名,或者您是否想要实际检索该网址的资源并检查其格式? – nnnnnn 2012-01-11 01:13:21

+0

同意。你真的应该解释你在做什么语言,以及为了什么目的。 – 2012-01-11 03:18:58

回答

0

如何以及你想认识的URL?如果你需要URL包含'http://'或'https://',那么问题就相当简单了。简单地分割文本(使用str.split()函数)并搜索每个列表元素以查看它是否包含关键字('http://'或任何您决定使用的关键字)。要确定目标url是否为图像,只需使用list comprehensions(即some_url [-3:])在该列表项的结尾处获取文件扩展名即可。然后将该文件扩展名与已知图像文件扩展名列表进行匹配。

+0

是这是我最终做的。我了解到,如果标记的src属性不是图像,则会触发事件“错误”。所以我的解决方法是依靠这个“错误”事件,如果事件触发了,我将从网页中删除我的 DOM。 – Houston 2012-01-11 13:11:35

+0

..好东西:) – 2012-01-13 02:28:31

0

我建议使用getimagesize功能,如果该文件是图像,并返回失败FALSE它返回具有7个元素的阵列。

0

这将是很难做得可靠,但你可以用正则表达式尝试。

http://启动您的正则表达式,然后匹配的非空白字符的序列,然后用.jpg之一,.png和任何完成它的其他扩展你感兴趣的注意,图像扩展的.应该逃脱在RE中,你应该在它之后包含一个字边界。祝你好运!