咨询热线:15811653920

2009-2017

我们一直走在国际设计的前沿,追求与研究从未停止

我的位置:首页 > 学院 > php教程

php函数教程之preg_match_all()函数介绍与用法

php函数教程之preg_match_all()函数介绍与用法
上午写了一篇关于php过滤特殊字符并保留中文,数字以及英文字母的文章,其中就用到了php中的预设函数 preg_match_all(),今天就有小伙件发私信说,能不能简单介绍一下这个 preg_match_all() 函数。查了一些资料,并写成了这篇文章 php preg_match_all()函数介绍与用法 php preg_match_all() 函数 preg_match_all():用于执行一个全局正则表达式匹配。 语法: int preg_match_all (pattern , subject ,matches,flags,offset); 复制 参数: pattern::要搜索的模式,字符串形式。 subject:输入字符串。 matches:多维数组,作为输出参数输出所有匹配结果, 数组排序通过flags指定。 flags:数组结果排序,可以结合下面的几个标记使用 1、PREG_PATTERN_ORDER:结果排序为$matches[0]保存完整模式的所有匹配, $matches[1] 保存第一个子组的所有匹配,以此类推。 2、REG_SET_ORDER::结果排序为$matches[0]包含第一次匹配得到的所有匹配(包含子组), $matches[1]是包含第二次匹配到的所有匹配(包含子组)的数组,以此类推。 3、PREG_OFFSET_CAPTURE: 如果这个标记被传递,每个发现的匹配返回时会增加它相对目标字符串的偏移量。 注意:PREG_PATTERN_ORDER 和 PREG_SET_ORDER 不能同时使用,如果没有指定排序的标记,则默认为 PREG_PATTERN_ORDER offset: 通常, 查找时从目标字符串的开始位置开始。(单位为字节) 返回值: preg_match_all():返回完整匹配次数有可能为0,如果发生错误则返回false php preg_match_all() 函数使用方法 例1: 查找html代码中的所有p标签,并输出 墨初



Host:

http://www.feiniaomy.com

"; $size = preg_match_all ("/

(.*)<\/p>/U", $html, $array); //输出匹配次数 echo $size; //打印所以匹配到的结果 print_r($array); ?> 复制 输出结果: 2 Array ( [0] => Array ( [0] =>

墨初

[1] =>

http://www.feiniaomy.com

) [1] => Array ( [0] => 墨初 [1] => http://www.feiniaomy.com ) ) 复制 注意: 1、上面的示例中没有指定了 preg_match_all() flags 参数,则默认为 PREG_PATTERN_ORDER 2、输出的 $array 数组中,$array[0]保存完整模式的所有匹配, $array[1] 保存第一个子组的所有匹配 例2: 墨初 Mochu



Host:

http://www.feiniaomy.com

"; $size = preg_match_all ("/

(.*)<\/p>/U",$html,$array,PREG_SET_ORDER); print_r($array); ?> 复制 输出结果: Array ( [0] => Array ( [0] =>

墨初 Mochu

[1] => 墨初 Mochu ) [1] => Array ( [0] =>

http://www.feiniaomy.com

[1] => http://www.feiniaomy.com ) ) 复制 注意: 1、上面的示例中指定了 preg_match_all() flags 参数值为 PREG_SET_ORDER 2、输出的 $array 数组中,第一个元素为第一次匹配到结果(包含子组),第二个元素为第二次匹配的结果(包含子组),以次类推 例3: 墨初 Mochu



Host:

http://www.feiniaomy.com

"; $size = preg_match_all ("/

(.*)<\/p>/U",$html,$array,PREG_OFFSET_CAPTURE); print_r($array); ?> 复制 输出结果: Array ( [0] => Array ( [0] => Array ( [0] =>

墨初 Mochu

[1] => 6 ) [1] => Array ( [0] =>

http://www.feiniaomy.com

[1] => 37 ) ) [1] => Array ( [0] => Array ( [0] => 墨初 Mochu [1] => 9 ) [1] => Array ( [0] => http://www.feiniaomy.com [1] => 40 ) ) ) 复制 注意: 1、上面的示例中指定了 preg_match_all() flags 参数值为 PREG_OFFSET_CAPTURE 2、输出的 $array 数组中,会额外的增加匹配到的字符串相对于整个被处理字符串的偏移量

想了解更多,请访问齐创互联,需要网站建设,浏览快速建站模板快速建站
点击在线客服联系客服,联系电话:15811653920 联系人: 丁生.


感谢您关注我们,如果您有建站需求,请与我们取得联系。
扫一扫上面的二维码图案,加我微信
扫一扫上面的二维码图案,加我微信
咨询直线:15811653920 丁生

建站模板

Web Templates

建站龙头,低价保证,贴心服务

权威认证建站龙头企业,合理定价,实现与客户的长期合作,30万家企业级用户优选!