【发布时间】:2016-02-02 07:51:35
【问题描述】:
这是我的代码:
$curl = curl_init('http://www.houseoffraser.co.uk/');
$userAgent = "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/525.13 (KHTML, like Gecko) Chrome/0.A.B.C Safari/525.13";
curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($curl, CURLOPT_CONNECTTIMEOUT ,0);
curl_setopt($curl, CURLOPT_USERAGENT, $userAgent);
curl_setopt($curl, CURLOPT_TIMEOUT, 400);
ini_set('max_execution_time', 300);
$page = curl_exec($curl);
if(curl_errno($curl)) // check for execution errors
{
echo 'Scraper error: ' . curl_error($curl);
exit;
}
$html= curl_close($curl);
$dom = new DOMDocument();
@$dom->loadHTML($html);
$regex = '/<nav class="hof-buttons">(.*?)<\/nav>/s';
if (preg_match($regex, $page, $list)) {
echo preg_replace("/<\\/?a(\\s+.*?>|>)/", "", $list[0])."<br />";
} else {
print "Not found";
}
我试图只从 div 标签中获取 url 名称。但这只会给我错误。我主要想要这样的东西:
<div class="a"><a href="abc.php">a linki</a></div>
在代码中它必须是这样的:
if ( preg_match($regex, $page, $list) ){};
echo <a href="$list[1]"> $list[0]</a>;
但是当我使用它时,它会给我错误或没有数组。我想要这样的代码,但是如何将我想要的内容添加到 preg_match 中,或者如何调用 div 中的链接?
【问题讨论】:
-
ops .. 我错了地方(并且在代码中必须与 if ( preg_match($regex, $page, $list) ){}; echo $list[0] 类似;) 编辑了这个地方;并且在代码中必须类似于 if ( preg_match($regex, $page, $list) ){};回声 $list[1];
-
请更新问题,而不是在此处添加评论。
-
我不知道如何更新朋友O_O你能帮我吗?
标签: php curl preg-replace preg-match-all