把文本中的URL地址转换为可点击链接的JavaScript、PHP自定义函数
这几天在写一个小程序的时候,需要用到正则表达式匹配用户输入文本中的URL地址,然后将URL地址替换成可以点击的链接。URL地址的匹配,我想这应该是大家在做验证处理中常会用到的,这里就把我整合的一个比较完整的表达式给出来:
varURL=/(https?:\/\/|ftps?:\/\/)?((\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})(:[0-9]+)?|(localhost)(:[0-9]+)?|([\w]+\.)(\S+)(\w{2,4})(:[0-9]+)?)(\/?([\w#!:.?+=&%@!\-\/]+))?/ig;
这个表达式可以匹配http,https,ftp,ftps以及IP地址的URL地址。还算是URL地址匹配计较完善的。利用这个表达式我写了两个小函数,将用户留言的URL地址替换成可点击的链接,没有什么太难的,就是利用JavaScript的replace()函数来实现替换URL为link:
JavaScript版:
/** *JavaScrit版本 *将URL地址转化为完整的A标签链接代码 */ varreplaceURLToLink=function(text){ text=text.replace(URL,function(url){ varurlText=url; if(!url.match('^https?:\/\/')){ url='http://'+url; } return''+urlText+''; });
returntext; };