Home  >  Article  >  Backend Development  >  php file_get_contents function easily collects html data_PHP tutorial

php file_get_contents function easily collects html data_PHP tutorial

WBOY
WBOYOriginal
2016-07-21 15:38:361024browse

Copy code The code is as follows:

//National, the judgment condition is whether $REQUEST_URI contains html
if (!strpos($_SERVER["REQUEST_URI"],".html"))
{
$page="http://qq.ip138.com/weather/";
$html = file_get_contents($page,'r');
$pattern="/Online query of weather trend forecasts for the current day and the next five days in major cities and counties across the country(.*?)< center style="padding:3px">/si";
//html between regular matches
preg_match($pattern,$html,$pg);
echo "";
//regularly replace the remote address with the local address
$p=preg_replace('//weather/(w+)/index.htm/', 'tq.php/$1.html', $pg[1]);
echo $p;
}
//Province, the judgment condition is whether $REQUEST_URI contains?
else if(!strpos($_SERVER["REQUEST_URI"],"?")){
//yoyo recommends using splitting to obtain data. Here is the province name
$province=explode(" /",$_SERVER["REQUEST_URI"]);
$province=explode(".",$province[count($province)-1]);
$province=$province[0];
//What was commented out is the regular expression I wrote myself. I feel it is not well written, but the effect is the same as above
//preg_match('/[^/]+[.(html)]$/', $_SERVER["REQUEST_URI"],$pro);
//$province=preg_replace('/.html/','',$pro[0]);
$page="http:// qq.ip138.com/weather/".$province."/index.htm";
//Try to open the page before obtaining the html data to prevent errors caused by malicious input of addresses
if (!@fopen($ page, "r")) {
die("Sorry, the address does not exist!Click here to return");
exit(0);
}
$html = file_get_contents($page,'r');
$pattern="/Five-day weather trend forecast(.*?) Please enter Enter city/si";
preg_match($pattern,$html,$pg);
echo "";
//Regular replacement, get province, city
$p=preg_replace('/ /weather/(w+)/(w+).htm/', '$2.html?pro=$1', $pg[1]);
echo $p;
}
else {
//City, pass the province through get
$pro=$_REQUEST['pro'];
$city=explode("/",$_SERVER["REQUEST_URI"]);
$city= explode(".",$city[count($city)-1]);
$city=$city[0];
//preg_match('/[^/]+[.(html) ]+[?]/',$_SERVER["REQUEST_URI"],$cit);
//$city=preg_replace('/.html?/','',$cit[0]);
$page="http://qq.ip138.com/weather/".$pro."/".$city.".htm";
if (!@fopen($page, "r") ) {
die("Sorry, the address does not exist!Click here to return");
exit(0);
}
$html = file_get_contents($page,'r');
$pattern="/Five-day weather trend forecast(.*?)Please enter the city/si";
preg_match($pattern,$html,$pg);
echo "";
//Get the real image address
$p=preg_replace('//image//', 'http ://qq.ip138.com/image/', $pg[1]);
echo $p;
}
?>

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/321712.htmlTechArticleCopy the code as follows: ?php //Nationally, the judgment condition is whether $REQUEST_URI contains html if (!strpos( $_SERVER["REQUEST_URI"],".html")) { $page="http://qq.ip138.com/weather/"; $html =...
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn