首页 » 网站推广 » php正则preg_match_all技巧_php preg_match_all函数介绍与用法

php正则preg_match_all技巧_php preg_match_all函数介绍与用法

访客 2024-11-10 0

扫一扫用手机浏览

文章目录 [+]

php preg_match_all() 函数

preg_match_all():用于实行一个全局正则表达式匹配。

语法:

php正则preg_match_all技巧_php preg_match_all函数介绍与用法

int preg_match_all (pattern , subject ,matches,flags,offset);

参数:

php正则preg_match_all技巧_php preg_match_all函数介绍与用法
(图片来自网络侵删)

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标签,并输出

<?php//飞鸟慕鱼博客$html = \公众Name: <p>墨初</p> <br> Host: <p>http://www.feiniaomy.com</p>\"大众;$size = preg_match_all (\"大众/<p>(.)<\/p>/U\"大众, $html, $array);//输出匹配次数echo $size;//打印以是匹配到的结果print_r($array);?>

输出结果:

2Array( [0] => Array ( [0] => <p>墨初</p> [1] => <p>http://www.feiniaomy.com</p> ) [1] => Array ( [0] => 墨初 [1] => http://www.feiniaomy.com ))

把稳:

1、上面的示例中没有指定了 preg_match_all() flags 参数,则默认为 PREG_PATTERN_ORDER

2、输出的 $array 数组中,$array[0]保存完全模式的所有匹配, $array[1] 保存第一个子组的所有匹配

例2:

<?php//飞鸟慕鱼博客$html = \"大众Name: <p>墨初 Mochu</p> <br> Host: <p>http://www.feiniaomy.com</p>\公众;$size = preg_match_all (\"大众/<p>(.)<\/p>/U\"大众,$html,$array,PREG_SET_ORDER);print_r($array);?>

输出结果:

Array( [0] => Array ( [0] => <p>墨初 Mochu</p> [1] => 墨初 Mochu ) [1] => Array ( [0] => <p>http://www.feiniaomy.com</p> [1] => http://www.feiniaomy.com ))

把稳:

1、上面的示例中指定了 preg_match_all() flags 参数值为 PREG_SET_ORDER

2、输出的 $array 数组中,第一个元素为第一次匹配到结果(包含子组),第二个元素为第二次匹配的结果(包含子组),以次类推

例3:

<?php//飞鸟慕鱼博客$html = \"大众Name: <p>墨初 Mochu</p> <br> Host: <p>http://www.feiniaomy.com</p>\"大众;$size = preg_match_all (\"大众/<p>(.)<\/p>/U\"大众,$html,$array,PREG_OFFSET_CAPTURE);print_r($array);?>

输出结果:

Array( [0] => Array ( [0] => Array ( [0] => <p>墨初 Mochu</p> [1] => 6 ) [1] => Array ( [0] => <p>http://www.feiniaomy.com</p> [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 数组中,会额外的增加匹配到的字符串相对付全体被处理字符串的偏移量

标签:

相关文章

Python编程从入门到精通,探索编程之美

编程已经成为现代社会的一项基本技能。Python作为一种简单易学、功能强大的编程语言,在我国教育领域备受关注。本文将从Python...

网站推广 2025-03-02 阅读1 评论0

Scum07代码编程之美与适用方法

编程已成为当今社会不可或缺的技能之一。Scum07代码作为一款经典的编程语言,在我国众多程序员中备受推崇。本文将深入解析Scum0...

网站推广 2025-03-02 阅读1 评论0

Linux环境下的前端代码运行优化与步骤

前端技术逐渐成为软件开发的核心。Linux操作系统因其稳定性、安全性、开放性等特点,成为众多开发者和企业青睐的运行环境。本文将从L...

网站推广 2025-03-02 阅读1 评论0