PHP函数整理(二)
以下均参考自 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函数整理(二)的更多相关文章
- 常用的WinAPI函数整理
常用的WinAPI函数整理 一.进程 创建进程: CreateProcess("C:\\windows\\notepad.exe",0,0,0,0,0,0,0,&s ...
- [SQL] 函数整理(T-SQL 版)
函数整理(T-SQL 版) 一.数学函数 1.求绝对值 ABS() 函数用来返回一个数值的绝对值. SELECT ABS(-5.38) AS absValue; 2.求指数 POWER() 函数是用 ...
- 单元测试系列之十:Sonar 常用代码规则整理(二)
摘要:帮助公司部署了一套sonar平台,经过一段时间运行,发现有一些问题出现频率很高,因此有必要将这些问题进行整理总结和分析,避免再次出现类似问题. 作者原创技术文章,转载请注明出处 ======== ...
- 常用WinAPI函数整理------------转载
常用WinAPI函数整理原创 玩撕你 发布于2019-09-04 20:06:55 阅读数 101 收藏展开 之前的博客写了很多关于Windows编程的内容,在Windows环境下的黑客必须熟练掌握底 ...
- NiosII常用函数整理
NiosII常用函数整理 IO操作函数函数原型:IORD(BASE, REGNUM) 输入参数:BASE为寄存器的基地址,REGNUM为寄存器的偏移量函数说明:从基地址为BASE的设备中读取寄存器中偏 ...
- Javascript常用方法函数收集(二)
Javascript常用方法函数收集(二) 31.判断是否Touch屏幕 function isTouchScreen(){ return (('ontouchstart' in window) || ...
- PHP清理跨站XSS xss_clean 函数 整理自codeigniter Security
PHP清理跨站XSS xss_clean 函数 整理自codeigniter Security 由Security Class 改编成函数xss_clean 单文件直接调用.BY吠品. //来自cod ...
- Python内置的字符串处理函数整理
Python内置的字符串处理函数整理 作者: 字体:[增加 减小] 类型:转载 时间:2013-01-29我要评论 Python内置的字符串处理函数整理,收集常用的Python 内置的各种字符串处理 ...
- Lua函数之二
Lua函数之二 Lua中函数的两个重要特性: 1.函数和其他类型(如number.string)一样,可以存放在变量中,也可以存放在table中,可以作为函数的参数,还可以作为函数的返回值. 2.嵌套 ...
- day 16 - 2 内置函数(二)练习
内置函数(二)练习 1.用 map 来处理字符串列表,把列表中所有人都变成 sb,比方 alex_sbname=['alex','wupeiqi','yuanhao','nezha'] name=[' ...
随机推荐
- Django admin 权威指南(一)
版本: Django 1.10 此部分由官方文档<6.5.1 The Django admin site>翻译而来. 6.5.1.1 概览 默认情况下,使用startproject的时候, ...
- Java进击C#——语法之知识点的改进
本章简言 上一章我们讲到关于面向对象思想上C#和JAVA之差别.笔者分别从面向对象的三大特性入手.而本章主要讲一些C#改进的知识点.在.NET Framework 2.0之后出现很多新的知识点.这些知 ...
- 现代Web应用开发者必备的六大技能
过去,应用开发需要注重大量的专业知识,程序员只需关注单一的语言(比如COBOL.RPG.C++等),并利用该语言创建应用.而如今,时代在变迁.Web不再是单单关注独立的一面.相反,一个现代化的Web应 ...
- IDCM项目学习笔记
项目介绍: IDCM:Internet Data center monitoring 网络数据中心监控平台 IRP:Information Resource planing 信息资源规划 1.设置表中 ...
- SpringMvc面试题
f-sm-1. 讲下SpringMvc和Struts1,Struts2的比较的优势 性能上Struts1>SpringMvc>Struts2 开发速度上SpringMvc和Struts2差 ...
- KB,Kb单位换算,网络带宽中的Kbps和KB/s到底是什么意思? (注:B和b的区别)
B是指字节(Byte)1个字节有8个比特组成 b是指比特(bit)代表一个2进制位(值为0或1) 上过网的朋友应该会听说过网络带宽这个词,可是这个网络带宽的单位到底是什么,为什么有的人说Kbps ...
- FactoryMethodPattern(工厂方法)
/** * 工厂方法模式 * 分为四部分 * 1.产品接口 * 2.产品实例 * 3.工厂接口 * 4.工厂实例 * 工厂类最好用单例模式,但在这里主要是说明工厂方法,就不用单例了 * @author ...
- [转载]C#使用Interlocked进行原子操作
原文链接:王旭博客 » C# 使用Interlocked进行原子操作 什么是原子操作? 原子(atom)本意是"不能被进一步分割的最小粒子",而原子操作(atomic operat ...
- e.target.files[0]层层剖析
因为我现在拿到的一个功能是上传时过滤掉很大尺寸的图片,所以需要来拿到上传时选择图片的size,所以有了这篇博文 不多说 上代码 $('input').change(function(e){ 1️⃣.c ...
- 关于arcgis engine的注记显示与关闭问题
1.注记的添加需要拿到IGeoFeatureLayer接口下的AnnotationProperties属性,转为IAnnotationLayerPropertiesCollection接口,并创建一个 ...