Home > php教程 > php手册 > PHP中preg_match_all函数正则匹配详解

PHP中preg_match_all函数正则匹配详解

WBOY
Release: 2016-06-13 11:15:31
Original
1415 people have browsed it

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 ]]] )

 代码如下 复制代码

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中的参数变量,已经对应的值。

比如说。你现在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         {
            ${$m[1][$i]} = $m[2][$i];
            if(isset(${$m[1][$i]}))
            {   
                echo $m[1][$i].'='.${$m[1][$i]};
                echo '
';
            }
        }
}

结果:keywords=好脚本,d=1,b=3,cid=419299191

 

匹配文章中的图片

 

 代码如下 复制代码

$con = file_get_contents("http://www.bkjia.com/");
$pattern="//";
preg_match_all($pattern,$con,$match);
print_r($match);
?>

输出代码

Array
(
[0] => Array
(
[0] =>
[1] =>
[2] =>
)
[1] => Array
(
[0] => http://www.bkjia.com/uploadfile/2013/0905/20130905074915895.png
[1] => http://www.bkjia.com/uploadfile/2013/0905/20130905074915639.jpg
[2] => http://www.bkjia.com/uploadfile/2013/0905/20130905074915742.jpg
)
)


source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Recommendations
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template