正则匹配链接

今天写了个编译富文本的方法,需要匹配文本中的链接,鉴于有和我一样对正则不太熟悉的,可以想象其过程还是比较痛苦的,所以写出来,希望会有帮助(使用php实现)

// 替换http开头或者https开头的url,有a标签包裹的
'/<a[^<>]+href="(((https?:\/\/)[A-Za-z0-9]+\.[A-Za-z0-9]+[\/=\?%\-&_~`@[\]\':+!]*([^<>\"\"\s])*))".*?>([^\<\>]*)<\/a>/is'

// 替换http开头或者https开头的url,没有a标签包裹的
'/(?<=[^\'\"\=\]])((https?:\/\/)[A-Za-z0-9]+\.[A-Za-z0-9]+[\/=\?%\-&_~`@[\]\':+!]*([^<>\"\"\s])*)(?=[^\'\"])/is'

// 内容以http... 链接开头的
'/^((https?:\/\/)[A-Za-z0-9]+\.[A-Za-z0-9]+[\/=\?%\-&_~`@[\]\':+!]*([^<>\"\"\s])*)/is'

posted on 2014-04-10 22:42  磐石、  阅读(308)  评论(0编辑  收藏  举报

导航