PHP中preg_match_all函数正则匹配详解
2016-10-21 10:14
1636 查看
preg_match_all函数是用来获取指定数据内容的,它经常用于执行正则表达多,下面我来给大家介绍两个关于preg_match_all函数实现教程,一个是获取url参数,一个是获取内容中图片方法。
preg_match_all — 执行一个全局正则表达式匹配
int preg_match_all ( string $pattern , string $subject [, array &$matches [, int $flags = PREG_PATTERN_ORDER [, int $offset = 0 ]]] )
例
如何获取伪静态url中的参数变量,已经对应的值。
比如说。你现在url的是这样的。/js/d1b3cid419299191rs好脚本
你的.htaccess文件会这样写rewirte规则 RewriteRule ^js/(.*)$ /index.php?m=Sell&a=index&g=$1 [QSA,PT,L]
这样你就可以把g接收过来。
结果:keywords=好脚本,d=1,b=3,cid=419299191
匹配文章中的图片
原文地址
preg_match_all — 执行一个全局正则表达式匹配
int preg_match_all ( string $pattern , string $subject [, array &$matches [, int $flags = PREG_PATTERN_ORDER [, int $offset = 0 ]]] )
例
代码如下 | 复制代码 |
preg_match_all("|<[^>]+>(.*)]+>|U", "example: this is a test ", $out, PREG_PATTERN_ORDER); echo $out[0][0] . ", " . $out[0][1] . "n"; echo $out[1][0] . ", " . $out[1][1] . "n"; ?> |
比如说。你现在url的是这样的。/js/d1b3cid419299191rs好脚本
你的.htaccess文件会这样写rewirte规则 RewriteRule ^js/(.*)$ /index.php?m=Sell&a=index&g=$1 [QSA,PT,L]
这样你就可以把g接收过来。
代码如下 | 复制代码 |
$get = 'd1b3cid419299191rs好脚本'; $rs_pos = strpos($get,'rs'); if($rs_pos !== false) { $rs = substr($get,$rs_pos); $rs = str_replace('rs','',$rs); $rs = strpos($rs,'/')!==false ? substr($rs,0,strpos($rs,'/')) : $rs; $get = substr($get,0,$rs_pos); } echo 'keywords='.$rs; echo ' '; preg_match_all('/([a-z]*)([0-9]+)/',$get,$m); if($m) { $k = $v = ''; $count = count($m[1]); for($i = 0; $i <= $count; $i++) { ${$m[1][$i]} = $m[2][$i]; if(isset(${$m[1][$i]})) 8cb7 { echo $m[1][$i].'='.${$m[1][$i]}; echo ' '; } } } |
匹配文章中的图片
代码如下 | 复制代码 |
$con = file_get_contents("http://www.php100.com/"); $pattern="/<[img|IMG].*?src=['|"](.*?(?:[.gif|.jpg|.png]))['|"].*?[/]?>/"; preg_match_all($pattern,$con,$match); print_r($match); ?> 输出代码 Array ( [0] => Array ( [0] => [1] => [2] => ) [1] => Array ( [0] => http://www.php100.com/uploadfile/2013/0905/20130905074915895.png [1] => http://www.php100.com/uploadfile/2013/0905/20130905074915639.jpg [2] => http://www.php100.com/uploadfile/2013/0905/20130905074915742.jpg ) ) |
相关文章推荐
- PHP中preg_match_all函数正则匹配详解
- PHP 正则表达式匹配函数 preg_match 与 preg_match_all
- PHP 正则表达式匹配函数 preg_match 与 preg_match_all
- PHP 正则preg_match 与 preg_match_all 函数以及匹配中文
- PHP 正则表达式匹配 preg_match 与 preg_match_all 函数
- PHP 正则表达式匹配 preg_match 与 preg_match_all 函数
- PHP 正则表达式匹配函数 preg_match 与 preg_match_all
- PHP 正则表达式匹配 preg_match 与 preg_match_all 函数
- PHP 正则表达式匹配 preg_match 与 preg_match_all 函数
- 正则表达式,匹配查找函数(preg_match_all)flags参数对比
- PHP 正则表达式之正则处理函数小结(preg_match,preg_match_all,preg_replace,preg_split)
- PHP正则匹配操作简单示例【preg_match_all应用】
- php中使用preg_match_all匹配文章中的图片
- PHP preg_match()进行正则表达式匹配
- php preg_match正则匹配中文-有深意
- 基于preg_match_all采集后数据处理的一点心得笔记(编码转换和正则匹配)
- php正则表达式函数 preg_match()
- PHP preg_match正则表达式详解
- preg_match_all - 执行一个全局正则表达式匹配