以下均参考自 php.net

1.curl_setopt_array()

此函数为CURL传输会话批量设置选项。这个函数对于需要设置大量的curl选项是非常有用的,不需要重复的调用curl_setopt().

语法:

bool curl_setopt_array(resource $ch,array $options)

参数:

  • ch :有curl_init()返回的CURL句柄
  • options :一个array用来确定将被设置的选项及其值。数组的键值必须是一个有效的curl_setopt()常量或者是它们对等的整数值

返回值:

如果全部的选项都被成功设置,返回 TRUE.如果一个选项不能被成功设置,马上返回FALSE,忽略其后的任何在options数组中的选项。

Example:

#初始化一个新的CURL会话并抓取一个web页面
<?php
//创建一个新CURL资源
$ch = curl_init(); //设置URL和相应的选项
$options = array(
CURL_URL => 'http://www.example.com/',
CURL_HEADER => false
);
curl_setopt_array($ch,$options); //抓取URL并把它传递给浏览器
curl_exec($ch); //关闭CURL资源,并且释放系统资源
curl_close($ch);
?>

2.curl_exec()

执行给定的CURL会话。这个函数应该在初始化一个CURL会话并且全部的选项都被设置后被调用。

语法:

mixed curl_exec(resource $ch)

参数:

  • ch :由curl_init()返回的CURL句柄

返回值:

成功时返回TRUE,或者在失败时返回FALSE。然而,如果CURLOPT_RETURNTRANSFER选项被设置,函数执行成功时会返回执行的结果,失败时返回FALSSE。

Example:获取一个网页

<?php
//创建一个CURL资源
$ch = curl_init(); //设置URL和相应的选项
curl_setopt($ch,CURLOPT_URL,"http://www.example.com/");
curl_setopt($ch,CURLOPT_HEADER,0); //抓取URL并把它传递给浏览器
curl_exec($ch); //关闭CURL资源,并且释放系统资源
curl_close($ch);
?>

3.curl_getinfo()

获取一个CURL连接资源句柄的信息

语法:

mixed curl_getinfo(resource $ch [,int $opt = 0])

参数:

  • ch :由curl_init()返回的CURL句柄。
  • opt :这个参数的可选值很多,具体可以参考手册。

返回值:如果opt被设置,以字符串形式返回它的值。否则返回一个关联数组。

Example:

<?php
//创建一个CURL句柄
$ch = curl_init('http://www.yahoo.com/');
//执行
curl_exec($ch); //检查是否有错误发生
if (!curl_errno($ch)){
$info = curl_getinfo($ch);
echo 'Took'.$info['total_time'].'second to second a request to'.$info['url'];
}
//close handle
curl_close($ch);
?>

4.preg_match()

执行一个正则表达式匹配

语法:

//搜索subject与pattern给定的正则表达式的一个匹配
int preg_match (string $pattern,string $subject [,array $matches[,int $flags = 0[,int $offset = 0]]])

参数:

  • pattern :要搜索的模式,字符串类型
  • subject :输入字符串
  • matches :如果提供了参数matches,它将被填充为搜索结果。$matches[0]将包含完整模式匹配到的文本,$matches[1]将包含第一个捕获子组匹配到的文本,以此类推
  • flags :flags可以被设置为以下标记值:
    • PREG_OFFSET_CAPTURE :如果传递了这个标记,对于每一个出现的匹配返回时会附加字符串偏移量(相对于目标字符串的)。注意:这会改变填充到matches参数的数组,使其每个元素成为一个由第0个元素是匹配到的字符串,第1个元素是该匹配字符串在目标字符串subject中的偏移量
  • offset :通常,搜索从目标字符串的开始位置开始。可选参数offset用于指定目标字符串的某个未知开始搜索(单位是字节)

返回值:

preg_match()返回pattern的匹配次数。它的值将是0次(不匹配)或1次,因为preg_match()在第一次匹配后将会停止搜索。preg_match_all()不同于此,它会一直搜索subject直到到达结尾。如果发生错误preg_match()返回FALSE

Example1:

<?php
//模式分隔符后的"i"标记这是一个大小写不敏感的搜索
if(preg_match("/php/i","PHP is the web scripting language of choice.")){
echo "A match was found.";
}else{
echo "A match was not found.";
}
?>

Example2: 获取URL中的域名

<?php
//从URL中获取主机名
preg_match('@^(?:http://)?([^/]+)@i',"http://www.php.net/index.html",$matches);
$host = $matches[1]; //获取主机名的后面两部分
preg_match('/[^.]+\.[^.]+$/',$host,$matches);
echo "domain name is : {$matches[0]}\n";
?>

PHP函数整理(二)的更多相关文章

  1. 常用的WinAPI函数整理

    常用的WinAPI函数整理 一.进程  创建进程:    CreateProcess("C:\\windows\\notepad.exe",0,0,0,0,0,0,0,&s ...

  2. [SQL] 函数整理(T-SQL 版)

    函数整理(T-SQL 版) 一.数学函数 1.求绝对值 ABS() 函数用来返回一个数值的绝对值. SELECT ABS(-5.38) AS absValue; 2.求指数 POWER()  函数是用 ...

  3. 单元测试系列之十:Sonar 常用代码规则整理(二)

    摘要:帮助公司部署了一套sonar平台,经过一段时间运行,发现有一些问题出现频率很高,因此有必要将这些问题进行整理总结和分析,避免再次出现类似问题. 作者原创技术文章,转载请注明出处 ======== ...

  4. 常用WinAPI函数整理------------转载

    常用WinAPI函数整理原创 玩撕你 发布于2019-09-04 20:06:55 阅读数 101 收藏展开 之前的博客写了很多关于Windows编程的内容,在Windows环境下的黑客必须熟练掌握底 ...

  5. NiosII常用函数整理

    NiosII常用函数整理 IO操作函数函数原型:IORD(BASE, REGNUM) 输入参数:BASE为寄存器的基地址,REGNUM为寄存器的偏移量函数说明:从基地址为BASE的设备中读取寄存器中偏 ...

  6. Javascript常用方法函数收集(二)

    Javascript常用方法函数收集(二) 31.判断是否Touch屏幕 function isTouchScreen(){ return (('ontouchstart' in window) || ...

  7. PHP清理跨站XSS xss_clean 函数 整理自codeigniter Security

    PHP清理跨站XSS xss_clean 函数 整理自codeigniter Security 由Security Class 改编成函数xss_clean 单文件直接调用.BY吠品. //来自cod ...

  8. Python内置的字符串处理函数整理

    Python内置的字符串处理函数整理 作者: 字体:[增加 减小] 类型:转载 时间:2013-01-29我要评论 Python内置的字符串处理函数整理,收集常用的Python 内置的各种字符串处理 ...

  9. Lua函数之二

    Lua函数之二 Lua中函数的两个重要特性: 1.函数和其他类型(如number.string)一样,可以存放在变量中,也可以存放在table中,可以作为函数的参数,还可以作为函数的返回值. 2.嵌套 ...

  10. day 16 - 2 内置函数(二)练习

    内置函数(二)练习 1.用 map 来处理字符串列表,把列表中所有人都变成 sb,比方 alex_sbname=['alex','wupeiqi','yuanhao','nezha'] name=[' ...

随机推荐

  1. Gobblin采集kafka数据

    作者:Syn良子 出处:http://www.cnblogs.com/cssdongl 转载请注明出处 找时间记录一下利用Gobblin采集kafka数据的过程,话不多说,进入正题 一.Gobblin ...

  2. 编写高质量代码:改善Java程序的151个建议(第2章:基本类型___建议26~30)

    建议26:提防包装类型的null值 我们知道Java引入包装类型(Wrapper Types)是为了解决基本类型的实例化问题,以便让一个基本类型也能参与到面向对象的编程世界中.而在Java5中泛型更是 ...

  3. 让我们一起用开源数据库和开源框架废弃Access

    一.为什么要废弃Access? 1.客户的机子上需要安装access的驱动 ps:这个比较烦人,大家都知道部署越简单越好,安装这个对用户来说太繁琐了. 2.操作时性能不佳 using System; ...

  4. springmvc处理上传图片代码(校验图片尺寸、图片大小)

    package com.maizuo.web.controller; import com.maizuo.domain.Result; import com.maizuo.util.Constants ...

  5. VS2013常用快捷键

    Visual Studio 2013 是一个基本完整的开发工具集,它包括了整个软件生命周期中所需要的大部分工具,如UML工具.代码管控工具.集成开发环境(IDE)等等.VS 2013 中新增了很多提高 ...

  6. Visula Studio 2013/2015自定义快捷键

    很多同学新装了VS2013/2015后, 发现快捷键变掉了, 比如之前编译快捷键是F6, 现在变成Ctrl + Shift + B, 其实要改回去很简单, 菜单Tools->Options, 打 ...

  7. .NET Task揭秘(一)

    Task为.NET提供了基于任务的异步模式,它不是线程,它运行在线程池的线程上.本着开源的精神, 本文以解读基于.NET4.5 Task源码的方式来揭秘Task的实现原理.   Task的创建 Tas ...

  8. win7中 SQL server 2005无法连接到服务器,错误码:18456

    win7中 SQL server 2005无法连接到服务器,错误码:18456.. 数据库刚装完.我用Windows登陆  结果登陆不上去.. 选中SQL Server Management Stud ...

  9. struts2的action是多例,servlet是单例

    struts2中action是多例的,即一个session产生一个action如果是单例的话,若出现两个用户都修改一个对象的属性值,则会因为用户修改时间不同,两个用户访问得到的 属性不一样,操作得出的 ...

  10. Java集合概述

    容器,是用来装东西的,在Java里,东西就是对象,而装对象并不是把真正的对象放进去,而是指保存对象的引用.要注意对象的引用和对象的关系,下面的例子说明了对象和对象引用的关系. String str = ...