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