以下均参考自 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. Django admin 权威指南(一)

    版本: Django 1.10 此部分由官方文档<6.5.1 The Django admin site>翻译而来. 6.5.1.1 概览 默认情况下,使用startproject的时候, ...

  2. Java进击C#——语法之知识点的改进

    本章简言 上一章我们讲到关于面向对象思想上C#和JAVA之差别.笔者分别从面向对象的三大特性入手.而本章主要讲一些C#改进的知识点.在.NET Framework 2.0之后出现很多新的知识点.这些知 ...

  3. 现代Web应用开发者必备的六大技能

    过去,应用开发需要注重大量的专业知识,程序员只需关注单一的语言(比如COBOL.RPG.C++等),并利用该语言创建应用.而如今,时代在变迁.Web不再是单单关注独立的一面.相反,一个现代化的Web应 ...

  4. IDCM项目学习笔记

    项目介绍: IDCM:Internet Data center monitoring 网络数据中心监控平台 IRP:Information Resource planing 信息资源规划 1.设置表中 ...

  5. SpringMvc面试题

    f-sm-1. 讲下SpringMvc和Struts1,Struts2的比较的优势 性能上Struts1>SpringMvc>Struts2 开发速度上SpringMvc和Struts2差 ...

  6. KB,Kb单位换算,网络带宽中的Kbps和KB/s到底是什么意思? (注:B和b的区别)

    B是指字节(Byte)1个字节有8个比特组成    b是指比特(bit)代表一个2进制位(值为0或1) 上过网的朋友应该会听说过网络带宽这个词,可是这个网络带宽的单位到底是什么,为什么有的人说Kbps ...

  7. FactoryMethodPattern(工厂方法)

    /** * 工厂方法模式 * 分为四部分 * 1.产品接口 * 2.产品实例 * 3.工厂接口 * 4.工厂实例 * 工厂类最好用单例模式,但在这里主要是说明工厂方法,就不用单例了 * @author ...

  8. [转载]C#使用Interlocked进行原子操作

    原文链接:王旭博客 » C# 使用Interlocked进行原子操作 什么是原子操作? 原子(atom)本意是"不能被进一步分割的最小粒子",而原子操作(atomic operat ...

  9. e.target.files[0]层层剖析

    因为我现在拿到的一个功能是上传时过滤掉很大尺寸的图片,所以需要来拿到上传时选择图片的size,所以有了这篇博文 不多说 上代码 $('input').change(function(e){ 1️⃣.c ...

  10. 关于arcgis engine的注记显示与关闭问题

    1.注记的添加需要拿到IGeoFeatureLayer接口下的AnnotationProperties属性,转为IAnnotationLayerPropertiesCollection接口,并创建一个 ...