preg_match_all中第四个参数PREG_PATTERN_ORDER,PREG_SET_ORDER,PREG_OFFSET_CAPTURE之间的区别!
2012-01-30 02:27
429 查看
echo "<br><br>"; $str = "asdf{title}asdf{author}sadf{con}asfasdfasdfasf"; $mode = "/{(.*)}/U"; $flags1 = PREG_PATTERN_ORDER; //整个数组是二维数组,$arr1[0]是包括边界所构成匹配字符串的数组,$arr1[1]除去边界所构成的匹配字符串的数组; preg_match_all($mode,$str,$arr1,$flags1); print_r($arr1); echo "<br><br>"; $flags2 = PREG_SET_ORDER; //整个数组是二维数组,$arr2[0][0]是第一个包括边界所构成的匹配的字符串,$arr2[0][1]是第一个除去边界所构成的匹配的字符串,之后的数组以此类推 preg_match_all($mode,$str,$arr2,$flags2); print_r($arr2); echo "<br><br>"; $flags3 = PREG_OFFSET_CAPTURE; //整个数组是三维数组,$arr3[0][0][0]是第一个包括边界所构成的匹配的字符串,$arr3[0][0][1]是到达第一个匹配字符串的边界的偏移量(边界不算在内),之后以此类推,$arr2[1][0][0]是第一个包括边界所构成的匹配的字符串,$arr3[1][0][1]是到达第一个匹配字符串的边界的偏移量(边界算在内); preg_match_all($mode,$str,$arr3,$flags3); print_r($arr3);
区别已经注明在注释中,通过下面的数组应该会把区别表明得更直观!~~
<br><br>Array
(
[0] => Array
(
[0] => {title}
[1] => {author}
[2] => {con}
)
[1] => Array
(
[0] => title
[1] => author
[2] => con
)
)
<br><br>Array
(
[0] => Array
(
[0] => {title}
[1] => title
)
[1] => Array
(
[0] => {author}
[1] => author
)
[2] => Array
(
[0] => {con}
[1] => con
)
)
<br><br>Array
(
[0] => Array
(
[0] => Array
(
[0] => {title}
[1] => 4
)
[1] => Array
(
[0] => {author}
[1] => 15
)
[2] => Array
(
[0] => {con}
[1] => 27
)
)
[1] => Array
(
[0] => Array
(
[0] => title
[1] => 5
)
[1] => Array
(
[0] => author
[1] => 16
)
[2] => Array
(
[0] => con
[1] => 28
)
)
)
php菜鸟,希望与大家共同学习!~~qq:1309782600
本文出自 “小威的php快乐之路!~~” 博客,请务必保留此出处http://ywweini21.blog.51cto.com/3011722/768537
相关文章推荐
- preg_match_all中第四个参数PREG_PATTERN_ORDER,PREG_SET_ORDER,PREG_OFFSET_CAPTURE之间的区别
- preg_match_all中第四个参数PREG_PATTERN_ORDER,PREG_SET_OR
- php中ereg() ,preg_match() 与preg_match_all的区别?代码详细比较
- php中preg_match()和preg_match_all()的区别
- preg_match_all 结果排序之PREG_SET_ORDER参数
- preg_match_all 结果排序之PREG_SET_ORDER参数
- preg_match和preg_match_all的区别
- 正则表达式,匹配查找函数(preg_match_all)flags参数对比
- php中preg_match和preg_match_all的区别
- php中preg_match和preg_match_all的区别
- iOS基础控件:UIScrollView 之三大属性 contentOffset 、contentSize 、contentInset 之间的区别
- PHP中preg_match_all函数正则匹配详解
- numpy 中array参数'f'与order='f'区别
- 深度学习、机器学习、模式识别之间的联系和区别 Deep Learning vs Machine Learning vs Pattern Recognition
- PHP正则匹配操作简单示例【preg_match_all应用】
- DateTime , DateTime2 ,DateTimeOffset 之间的小区别
- preg_match、preg_match_all 长度限制
- PHP 正则表达式匹配 preg_match 与 preg_match_all 函数
- Java 深入学习(1) —— 容器类(集合类)Set、List、Queue、Map 之间的区别