• 网站所有资源均来自网络,如有侵权请联系站长删除!站长QQ:1295341837

php curl抓取页面内容搜索拦截替换指定内容再输出

网站制作学习 Mlingkun 2018-11-06 1758 次浏览

CURLOPT_RETURNTRANSFER

使用PHP curl获取页面内容或提交数据,有时候希望返回的内容作为变量储存,而不是直接输出。这个时候就必需设置curl的CURLOPT_RETURNTRANSFER选项为1或true。


1、curl获取页面内容, 直接输出例子:

<!代码开始>

<?php
$url = 'http://baidu.com';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
curl_exec($ch);
curl_close($ch);
?>

<!代码结束>

2、curl获取页面内容, 不直接输出例子:

<!代码开始>

<?php
$url = 'http://baidu.com';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$response = curl_exec($ch); // 已经获取到内容,没有输出到页面上。
curl_close($ch);
echo $response;
?>

<!代码结束>

str_replace

拦截替换页面内容的方法:

把字符串 "Hello world!" 中的字符 "world" 替换为 "Shanghai":

<!代码开始>

<?php
echo str_replace("world","Shanghai","Hello world!");
?>

<!代码结束>

PHP str_replace方法,替换字符串定义和用法

str_replace() 函数替换字符串中的一些字符(区分大小写)。

结合演示

<?php
$curlobj = curl_init(); // 初始化
curl_setopt($curlobj, CURLOPT_URL, "http://www.baidu.com"); // 设置访问网页的URL
curl_setopt($curlobj, CURLOPT_RETURNTRANSFER, true); // 执行之后不直接打印出来
$output = curl_exec($curlobj); // 执行
curl_close($curlobj); // 关闭cURL
echo str_replace("百度", "php", $output);
?>