Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/269.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/90.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用特定的php类在网页中刮取链接_Php_Regex_Preg Match - Fatal编程技术网

使用特定的php类在网页中刮取链接

使用特定的php类在网页中刮取链接,php,regex,preg-match,Php,Regex,Preg Match,正如标题所示,我希望检索具有特定类的链接。 我有连接到页面的代码,通过preg_match函数,我只想获取href=“url”中的url 我想获取的链接的结构和href=”中的链接,该链接位于表中,也可以具有其他属性,但不具有id,只有视图类 <a title="viwe" class="view" href="link">blablabla</a> 当我写这段代码的时候 $curl = curl_init('http://prove/prove/pag/test.

正如标题所示,我希望检索具有特定类的链接。 我有连接到页面的代码,通过preg_match函数,我只想获取href=“url”中的url

我想获取的链接的结构和href=”中的链接,该链接位于表中,也可以具有其他属性,但不具有id,只有视图类

<a title="viwe" class="view" href="link">blablabla</a>

当我写这段代码的时候

$curl = curl_init('http://prove/prove/pag/test.php');
curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE);

$page = curl_exec($curl);

if(curl_errno($curl)) // check for execution errors
{
    echo 'Scraper error: ' . curl_error($curl);
    exit;
}

curl_close($curl);

$regex = '/<a.*?>(.*?)<\/a>/';
if ( preg_match($regex, $page, $list) )
    echo $list[0];
else
    print "Not found";
$curl=curl\u init('http://prove/prove/pag/test.php');
curl_setopt($curl,CURLOPT_RETURNTRANSFER,TRUE);
$page=curl\u exec($curl);
if(curl\u errno($curl))//检查执行错误
{
回显“刮片错误:”。卷曲错误($curl);
出口
}
curl_close($curl);
$regex='/(.*?)/';
if(预匹配($regex,$page,$list))
echo$list[0];
其他的
打印“未找到”;

好吧,我们不推荐您尝试实现的方法,但是如果必须,这个表达式可能更接近您的想法,我猜:

<a\s.*?\sclass="\s*view\s*"[^>]*>.*?<\/a>

啊,我明白了,为什么?最合适的方法是什么?例如,使用PHP简单HTML DOM解析器