在JavaScript / jQuery中用活动超链接替换粘贴的链接
Replacing pasted links with active hyperlinks in JavaScript / jQuery
对于我的聊天,我需要一个jquery或javascript函数,将粘贴的链接(如http://example.com
)转换为活动链接(如<a href="http://example.com">http://example.com</a>
坦率地说,我对正则表达式仍然很糟糕(它们有时看起来像波西米亚村庄的名字;-)),因此我需要你的帮助。我想将以下PHP函数翻译成JavaScript/jQuery
function addHyperlinks($text){
return preg_replace(
array(
'/(?(?=<a[^>]*>.+<'/a>)
(?:<a[^>]*>.+<'/a>)
|
([^="'']?)((?:https?|ftp|bf2|):'/'/[^<> 'n'r]+)
)/iex',
'/<a([^>]*)target="?[^"'']+"?/i',
'/<a([^>]+)>/i',
'/(^|'s)(www.[^<> 'n'r]+)/iex',
'/(([_A-Za-z0-9-]+)(''.[_A-Za-z0-9-]+)*@([A-Za-z0-9-]+)
(''.[A-Za-z0-9-]+)*)/iex'
),
array(
"stripslashes((strlen('''2')>0?'''1<a href='"''2'">''2</a>''3':'''0'))",
'<a''1',
'<a''1 target="_blank">',
"stripslashes((strlen('''2')>0?'''1<a href='"http://''2'">''2</a>''3':'''0'))",
"stripslashes((strlen('''2')>0?'<a href='"mailto:''0'">''0</a>':'''0'))"
),
$text
);
}
我已经在我的 Javascript 库中添加了以下函数以使replaceAll
可用。
String.prototype.replaceAll = function(search, replace)
{
if(!replace)
return this;
return this.replace(new RegExp(escapeRegExp(search), 'g'), replace);
};
function escapeRegExp(string) {
return string.replace(/([.*+?^=!:${}()|'[']'/''])/g, "''$1");
}
我几乎可以肯定已经有一些这样的功能,但我找不到它。
谢谢,为我指出正确的方向@waldek_c
但是,为了完成我的问题,这是我在exp
变量末尾添加g
参数的函数
function replaceURLWithHTMLLinks(text) {
var exp = /('b(https?|ftp|file):'/'/[-A-Z0-9+&@#'/%?=~_|!:,.;]*[-A-Z0-9+&@#'/%=~_|])/ig;
return text.replace(exp,"<a href='$1'>$1</a>");
}
感谢这篇文章: 如何用链接替换纯网址?
很抱歉没有自己找到它:-)
相关文章:
- 用超链接替换URLS
- Wordpress:替换源(域名)链接
- 将url替换为链接,但添加了困难
- D3 Javascript HREF链接替换
- 用Javascript按钮替换Javascript超链接
- 用链接替换嵌入的HTML5视频
- 需要查找和替换链接标签
- PHP 自动替换链接 CSS
- 单击链接时替换链接的文本区域
- 检测网址/链接,并用 img 标签替换图像,用 href 替换链接
- JS:用另一个单词替换链接.嵌套引号+转义码
- JS:用链接替换链接.还有一个链接
- 替换链接Javascript中的部分字符串
- 替换链接和文本,如果文本包含:
- 替换链接的正则表达式
- 使用JavaScript/jQuery替换链接中的URL参数值
- Javascript -在文本框中输入数据后替换链接值
- 定时器到期后,如何调整JS代码以替换链接文本
- Jquery.如果没有找到,请替换链接
- 替换链接后运行javascript:void(0)在第一次点击