先谢谢各位看此帖!!
表单输入url后,我想通过一种方法读取该网站上所有友情链接,不知道可否使用正则表达式来达到目的,如果您有更好的方法感谢您指出。
若使用正则表达式的话,我应该怎么写这个正则来提取url和<a></a>之间的文字,谢谢!
表单输入url后,我想通过一种方法读取该网站上所有友情链接,不知道可否使用正则表达式来达到目的,如果您有更好的方法感谢您指出。
若使用正则表达式的话,我应该怎么写这个正则来提取url和<a></a>之间的文字,谢谢!
解决方案 »
- php中的‘->’连用是什么意思?
- php-谁帮我补充Base64解码的那部分PHP
- 关于搜索页时间传值的问题请求帮助~~~急~~啊~~~~在线等~~~谢谢啊
- 我来这里找二次开发PHPCMS的人....
- 浏览器连接数限制是针对域名还是针对IP呢
- Fatal error: DB2 Error[[IBM][CLI Driver][DB2/NT] SQL0104N 在 "BEGIN-OF-STATEMENT" 后面找到异常标记 "describe
- 昨天和网站站长们玩了个小游戏,小KISS一下,赚了五千,顺便告诉大家,我是怎么做的…
- mysql有没有数据插入失败后回滚的功能??
- 怎么样来限制一个网页只能从另外的一个网页中的超链接打开,而不能从http地址打开?
- php soap调用的时候会自动访问到代理服务器,如何禁止路由到代理服务器?
- PHP到底有没有缓存功能?
- perl查询数据库并打印以及perl打印数组的问题(perl第一天)
楼主【victor0910】截止到2008-07-04 01:54:57的历史汇总数据(不包括此帖):
发帖的总数量:9 发帖的总分数:180
结贴的总数量:5 结贴的总分数:40
无满意结贴数:3 无满意结贴分:60
未结的帖子数:4 未结的总分数:140
结贴的百分比:55.56 % 结分的百分比:22.22 %
无满意结贴率:60.00 % 无满意结分率:150.00%
楼主加油
第一步:提取所有链接url: preg_match_all('|href=(.*?) ?|is',$str,$arr)
print_r($arr);
第二步:和本域比较,如果不是本域,则认为是友情
(当然,这个规则可以不确
分析url,取得域部分 用parse_url
如果href的内容为""
preg_match_all('/href=\"([^>]*?)\"[^>]*?>(.*?)<a/is',$str,$arr); //匹配所有url和<a>之间内容
print_r($arr); 如果<a></a>间有很多内容,可能会很长,这是很正常的
试试吧
请您指教
$domain='hao123.com';
$text=file_get_contents("http://$domain");
$pattern="/<a href=[\'\"]?http:\/\/[^(".str_replace(".","\.",$domain).")].*?>(.*?)<\/a>/";
preg_match_all($pattern,$text,$match);
var_dump($match);
?>
不支持二级域名.
fxs_2008大哥,我用上面的方法得到了结果,但少过滤了一部分内容,因为我不但想得到<a></a>之间的内容,还需要对他进行过滤, 要求里面包括http:// 而且还要有一个完整的url例如http://xxx.com或http://www.xxx.com 这样匹配到结果以后,我就可以用explode函数再截取其中的完整网址,还可以过滤掉内部链接,同样也可以截取到>和</a>之间的文字了。谢谢
这个正则已经有点模样了,只是<a>标签中几种表现形式还不够准确
例如:
1.<a href=http://www.sina.com target=_blank>新浪</a> 没有引号
2.<a href='http://www.sina.com' target='_blank'>新浪</a> 单引号
3.<a href="http://www.sina.com" target="_blank">新浪</a> 双引号
4.<a href="http://www.sina.com" title="新浪" target="_blank">新浪</a> 有title也有target="_blank"
5.<a target="_blank" href="http://www.sina.com">新浪</a> target="_blank"在前面
6.<a href="http://www.sina.com" rel=nofollow target="_blank">新浪</a> 带有rel=nofollow另外还有由上面这6种方式引伸出的其它单引号、双引号与target和title的组合方式由于a标签里的形式多样,所以必须得过滤严格,不然很容易出错,谢谢各位帮忙非常感谢大家