解决方案 »
- unexpected $end 帮忙看看
- MYSQL, 错误提示1064
- php 中怎么能每秒都能运行一次函数?
- 下面是一段加密的php代码,我试用了所有的base64解密工具解密加密部分,都没有成功,谁知道怎么回事?
- 能通过字符串调用函数吗
- 分解句子代码问题
- html页面foreach循环如何分段?
- 表格中大于宽度的英文单词换行除了用<tr style=\"word-break:break-all\">,还有其他办法吗?
- 大家好,我想问一下现在网上流行一种技术,就象我们上新浪时弹出一大副图片,但只持续了几秒钟后就自动消失了,这是用php还是用javascrip
- php exec('java -jar /data/jodconverter.jar /data/01.doc /data/01.pdf')
- 求 php 设置session不过期 不在php.ini里设置
- 导航栏弹出菜单问题
skjdfksjdkf<a href="http://www.baidu.com" id="abc">sdfjk</a>
<a href="http://hi.baidu.com?info=aaa" id="abcdf">sdfjk</a>
html;$r = '/<a[^href]*href="([^"]*)"/i';preg_match_all($r, $html, $a);
echo '<pre>';print_r($a[1]);/*Array
(
[0] => http://www.baidu.com
[1] => http://hi.baidu.com?info=aaa
)*/
http://simplehtmldom.sourceforge.net/<?php
require("simple_html_dom.php");
$html = file_get_html('http://www.425sf.com/');
foreach($html->find('a') as $element)
echo $element->href . '<br>';
?>
skjdfksjdkf<a href="http://www.baidu.com" id="abc">sdfjk</a>
<a href="http://hi.baidu.com?info=aaa" id="abcdf">sdfjk</a>
<a href="/a.php" id="abcdf">sdfjk</a>
<a href="https://hi.baidu.com?info=aaa" id="abcdf">sdfjk</a>
<a href="ftp://hi.baidu.com?info=aaa" id="abcdf">sdfjk</a>
html;$r = '/<a[^href]*href="((http|https|ftp):\/\/[^"]*)"/i';//(http|https|ftp)这块你也可以增加其他的类型preg_match_all($r, $html, $a);
echo '<pre>';print_r($a[1]);
$patten = "((https|http|ftp|rtsp|mms)?://)?(([0-9a-z_!~*'().&=+$%-]+:)?[0-9a-z_!~*'().&=+$%-]+@)?(([0-9]{1,3}\.){3}[0-9]{1,3}|([0-9a-z_!~*'()-]+\.)*([0-9a-z][0-9a-z-]{0,61})?[0-9a-z]\.[a-z]{2,6})(:[0-9]{1,4})?((/?)|(/[0-9a-z_!~*'().;?:@&=+$,%#-]+)+/?)";
preg_match_all('/'.str_replace('/','\\/', $patten) . '/i', $content, $matches);
kyzy_yy_pm 的解决方案很好,我只是告诉网上的正则拿来在php中应该怎么用
skjdfksjdkf<a href="http://www.baidu.com" id="abc">sdfjk</a>
<a href="http://hi.baidu.com?info=aaa" id="abcdf">sdfjk</a>
<a href="/a.php" id="abcdf">sdfjk</a>
<a href="https://hi.baidu.com?info=aaa" id="abcdf">sdfjk</a>
<a href="ftp://hi.baidu.com?info=aaa" id="abcdf">sdfjk</a>
html;$r = '/<a[^href]*href="((http|https|ftp):\/\/[^\/|\?|"]*)[^"]*"/i';preg_match_all($r, $html, $a);
echo '<pre>';print_r($a[1]);/*Array
(
[0] => http://www.baidu.com
[1] => http://hi.baidu.com
[2] => https://hi.baidu.com
[3] => ftp://hi.baidu.com
)*/
哦哦,但我试了不行,我详细看了这个需求才看明白是采集域名的$url = "http://baidu.a98q.com/";
$html = file_get_contents($url);
$r = '/<a[^href]*href="((http|https|ftp):\/\/[^\/]+).*"/i';//(http|https|ftp)这块你也可以增加其他的类型
preg_match_all($r, $html, $a);
var_dump($a);
$r = '/<a[^href]*href="?((http|https|ftp):\/\/[^\/|\?|"| ]*)[^"]*"?/i';
$html = <<<html
skjdfksjdkf<a href="http://www.baidu.com" id="abc">sdfjk</a>
<a href="http://www.ku8sf.com?info=aaa" id="abcdf">sdfjk</a>
html;$r = '/<a[^href]*href="([^"]*)"/i';preg_match_all($r, $html, $a);
echo '<pre>';print_r($a[1]);/*Array
(
[0] => http://www.baidu.com
[1] => http://hi.baidu.com?info=aaa
)*/
(
[0] => http://www.52xoyo.cn
[1] => http://hi.baidu.com?info=aaa
)*/