- 1、本文档共5页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
php将url地址转化为完整的a标签链接代码
php将url地址转化为完整的a标签链接代码(php为url地址添加a标签)
需要提取的内容如下:
复制代码 代码如下:
a href=/a这是第一个A标签,a href=成长脚印-专注于互联网发展/a这是第二个A标签。这是第一个需要被提取的URL地址,这是第二个需要被提取的URL地址。img border=0 alt= src=/css/sitelogo_zh-cn.gif,这是一个IMG标签
类似微博中的自动提取URL为超链接地址。即内容提取出来添加A标签,转换成真正的超链接。网上有哪些信誉好的足球投注网站了很久,没有找到一个切实可行的解决方案。大都只是简单的提取URL(A标签和IMG标签内的地址也被提取替换了),并不能满足以上需求。正则表达式中也没发现能够实现提取时过滤掉A标签的方法。于是转换了一下思路,“曲线救国”。即,先将所有的A标签和IMG标签正则替换为某一个统一的标记,然后再提取URL地址替换为超链接,最后再将统一的标记还原替换为以前的A标签和IMG标签便解决了。
复制代码 代码如下:
function linkAdd($content){//提取替换出所有A标签(统一标记{link})preg_match_all(/a.*?href=.*?.*?.*?/a/i,$content,$linkList);$linkList=$linkList[0];$str=preg_replace(/a.*?href=.*?.*?.*?/a/i,{link},$content);
//提取替换出所有的IMG标签(统一标记{img})preg_match_all(/img[^]+/im,$content,$imgList);$imgList=$imgList[0];$str=preg_replace(/img[^]+/im,{img},$str);//提取替换标准的URL地址$str=preg_replace((((f|ht){1}tp://)[-a-zA-Z0-9@:%_/+.~#?//=]+),a href=\0 target=_blank\0/a,$str);//还原A统一标记为原来的A标签$arrLen=count($linkList);for($i=0;$i$arrLen;$i++){$str=preg_replace(/{link}/,$linkList[$i],$str,1); }//还原IMG统一标记为原来的IMG标签$arrLen2=count($imgList);for($i=0;$i$arrLen2;$i++){$str=preg_replace(/{img}/,$imgList[$i],$str,1); }return $str;}
$content=a href=/a这是第一个A标签,a href=成长脚印-专注于互联网发展/a这是第二个A标签。这是第一个需要被提取的URL地址,这是第二个需要被提取的URL地址。img border=0 alt= src=/css/sitelogo_zh-cn.gif,这是一个IMG标签;echo linkAdd($content);
返回的内容为:
复制代码 代码如下:
a href=/a这是第一个A标签, a href=成长脚印-专注于互联网发展/a这是第二个A标签。 a href= target=_blank/a这是第一个需要被提取的URL地址, a href= target=_blank/a这是第二个需要被提取的URL地址。img border=0 alt= src=_zh-cn.gif,这是一个IMG标签
即为我们想要的内容。
例2,
复制代码 代码如下:
/*** PHP 版本 在 Silva 代码的基础上修改的* 将URL地址转化为完整的A标签链接代码*/
function replace_URLtolink($text) {// grab anything that looks like a URL ...$urls = array();// build the patterns$scheme = (https?://|ftps?://)?;$www = ([w]+.);$ip = (d{1,3}.d{1,3}.d{1,3}.d{1,3});$name = ([w0-9]+);$tld = (w{2,4});$port = (:[0-9]+)?;$the_rest = (/?([w#!:.?+=%@!-/]+))?;$pattern = $scheme.(.$ip.$port.|.$www.$visa158.$com.$port.).$the_rest;$patte
文档评论(0)