【发布时间】:2015-03-12 02:09:05
【问题描述】:
我知道这个问题与之前提出的问题非常相似,但并不完全相同,不应该这样对待(请 mods/admins)。
我目前正在使用 Linkify() 函数,该函数是在另一个线程中发布的一段代码中找到的,但它不包含图像的正则表达式。它仅涵盖 http、https 和 mailto,但不涵盖可能包含图像的链接。
基本上我要问的是,是否有一个正则表达式可以添加到该函数(已经有 3 个模式,因此其中一个图像将被替换Pattern4),它只会检查图像链接?
例如,如果在文本中找到类似http://www.example.com/images/logo.jpg 的链接,那么它将其转换为图像标签,但显然 src="" 包含该 URL。我问的原因是我正在处理一个聊天项目,我想将指向图像的文本链接转换为实际图像,就像 Facebook 在时间轴上所做的那样。
这是我正在使用的,并已作为第四个 RegEx 模式添加到 Linkify 函数中:
replacePattern4 = /(\b(http):\/\/.(?:jpg|png|gif))</
replacedText = replacedText.replace(replacePattern4, '<img src="$1" height="100" width="100" />');
但是这根本不起作用!有什么想法吗??
这里的任何帮助都会很棒,请记住 Linkify 已经使用的代码。
谢谢!
【问题讨论】:
-
您能否提供示例以及预期输出是什么?
-
对于任何访问这里并想要 bobince 诗歌的人stackoverflow.com/a/1732454/451600
-
相对链接呢?正则表达式应该检测到它们吗?
-
搞笑的长颈鹿船长,但对我一点帮助都没有。预期的输出 Sam,应该是 example.com/images/logo.jpg" /> 因为它将链接变成插入聊天文本的实际图像。从字面上看,所有正则表达式都应该包含查找作为图像链接的 url 的模式,而不仅仅是一般的超链接。
-
谢谢菲尔,但我将如何使用它检查 javascript 中的实际字符串?然后用包含超链接的图像标签替换在字符串中找到的任何文本,因为这将是一堆聊天文本并且很长?这就是为什么我想使用正则表达式但我发现似乎没有一个工作。我将修改我的原始帖子以包含我正在使用的内容,以便您查看。
标签: javascript jquery regex hyperlink