很多站长朋友们都不太清楚php获取网页标签,今天小编就来给大家整理php获取网页标签,希望对各位有所帮助,具体内容如下:
本文目录一览: 1、 php怎么通过地址去获取一个网页的标题title里面的内容 2、 php获取指定网页内容 3、 php获取网页title问题 4、 PHP获取整个页面前三个标签里面的内容 5、 PHP正则获取整个页面标签里面的内容 6、 php如何获得页面某个标签的值 php怎么通过地址去获取一个网页的标题title里面的内容用正则表达式技术可以实现,代码如下:
<?php
$f=file_get_contents('
);
$regex='/<title>.*<\/title>/';
$a= array();
$b=preg_match($regex,$f,$a);
echo(trim($a[0],"<title></title>"));
?>
php获取指定网页内容一、用file_get_contents函数,以post方式获取url
<?php
$url= '';
$data= array('foo'=> 'bar');
$data= http_build_query($data);
$opts= array(
'http'=> array(
'method'=> 'POST',
'header'=>"Content-type: application/x-www-form-urlencoded\r\n" .
"Content-Length: " . strlen($data) . "\r\n",
'content'=> $data
)
);
$ctx= stream_context_create($opts);
$html= @file_get_contents($url,'',$ctx);
二、用file_get_contents以get方式获取内容
<?php
$url='';
$html= file_get_contents($url);
echo$html;
?>
三、用fopen打开url, 以get方式获取内容
<?php
$fp= fopen($url,'r');
$header= stream_get_meta_data($fp);//获取报头信息
while(!feof($fp)) {
$result.= fgets($fp, 1024);
}
echo"url header: {$header} <br>":
echo"url body: $result";
fclose($fp);
?>
四、用fopen打开url, 以post方式获取内容
<?php
$data= array('foo2'=> 'bar2','foo3'=>'bar3');
$data= http_build_query($data);
$opts= array(
'http'=> array(
'method'=> 'POST',
'header'=>"Content-type: application/x-www-form-
urlencoded\r\nCookie:cook1=c3;cook2=c4\r\n" .
"Content-Length: " . strlen($data) . "\r\n",
'content'=> $data
)
);
$context= stream_context_create($opts);
$html= fopen(';id2=i4','rb',false, $context);
$w=fread($html,1024);
echo$w;
?>
五、使用curl库,使用curl库之前,可能需要查看一下php.ini是否已经打开了curl扩展
<?php
$ch= curl_init();
$timeout= 5;
curl_setopt ($ch, CURLOPT_URL, '');
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
$file_contents= curl_exec($ch);
curl_close($ch);
echo$file_contents;
?>
php获取网页title问题你把$data写入临时文件调试一下看看,究竟是否获得了网页代码,网页代码里面是否有<title>标签,或者是<title>的写法与预期不一致。
调试语句:
file_put_contents('debug.1.txt', $data);
另外,使用修饰符/s或者/m试试看,有一个的功能是使用.可以匹配回车和换行。
PHP获取整个页面前三个标签里面的内容$text = '
<p>111</p>
<p>222</p>
<p>333</p>
<p>444</p>
<p>555</p>
<p>666</p>
';
$pattern = '/(<p>[A-z0-9]*<\/p>)/i';
var_dump(array_slice(preg_get($pattern , $text),0,3));
function preg_get($pattern , $text)
{
$out = array();
preg_match_all( $pattern , $text, $out );
return $out[1];
}
PHP正则获取整个页面标签里面的内容htmlspecialchars是将html转码,防止XSS攻击的。你这样没有意义。
CURL获取内容后直接 preg_match_all('/<p>(.*?)<\/p>/');就可以了
还有不懂的可以追问
php如何获得页面某个标签的值PHP想要获取表单的值,只能通过GET提交或者POST提交。
或者用js获取值做异步提交到本页面。
然后再用PHP进行接收。最基本的表单提交,用php接受值。
<?php
if (isset($_GET['button1'])) {
echo $_GET['button1'];
}
?>
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<form action="">
<input type="text" name="button1" value="123">
<input type="submit" value="提交">
</form>
</body>
</html>
关于php获取网页标签的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。
查看更多关于php获取网页标签 php获取网页标签信息的详细内容...