CURLOPT_RETURNTRANSFER
使用PHP curl获取页面内容或提交数据,有时候希望返回的内容作为变量储存,而不是直接输出。这个时候就必需设置curl的CURLOPT_RETURNTRANSFER选项为1或true。
1、curl获取页面内容, 直接输出例子:
$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获取页面内容, 不直接输出例子:
$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":
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);
?>