小编Ton*_*tra的帖子

从带有cURL的网页获取html,并使用preg-replace剥离html

我想从海盗湾获取统计数据,统计数据可以在TPB的以下div中找到:

<div id="stats">5.695.184 registered users Last updated 14:46:05.<br />35.339.741 peers (25.796.820 seeders + 9.542.921 leechers) in 4.549.473 torrents.<br />    </div>
Run Code Online (Sandbox Code Playgroud)

这是我的代码:

<?php
    $ch = curl_init();
    $timeout = 5;
    curl_setopt($ch, CURLOPT_URL,"http://thepiratebay.se"); 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,$timeout);
    curl_setopt($ch,CURLOPT_COOKIE,"language=nl_NL; c[thepiratebay.se][/][language]=nl_NL");
    $data=curl_exec($ch);
    $data = preg_replace('/(.*?)(<div id="stats">)(.*?)(<\/div>)(.*?)/','$2',$data);
    echo $data; 
    curl_close($ch); 
    exit;
?>
Run Code Online (Sandbox Code Playgroud)

如您所见,我使用以下preg-replace模式来剥离HTML:

$data = preg_replace('/(.*?)(<div id="stats">)(.*?)(<\/div>)(.*?)/','$2',$data);
Run Code Online (Sandbox Code Playgroud)

但这不起作用.我得到了TPB的整个页面而不仅仅是统计数据.有人有答案吗?

提前致谢.

html php regex curl preg-replace

3
推荐指数
1
解决办法
3493
查看次数

标签 统计

curl ×1

html ×1

php ×1

preg-replace ×1

regex ×1