程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> PHP中preg_match_all函數正則匹配詳解

PHP中preg_match_all函數正則匹配詳解

編輯:關於PHP編程

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 <= $count; $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="/<[img|IMG].*?src=['|"](.*?(?:[.gif|.jpg|.png]))['|"].*?[/]?>/";
preg_match_all($pattern,$con,$match);
print_r($match);
?>

輸出代碼

Array
(
[0] => Array
(
[0] => \
[1] => 2
[2] => 875EA1C00E50B4542797E24FA6E7E1F2.jpg
)
[1] => Array
(
[0] => https://www.aspphp.online/bianchen/UploadFiles_4619/201701/2017011717401065.png
[1] => https://www.aspphp.online/bianchen/UploadFiles_4619/201701/2017011717401083.jpg
[2] => https://www.aspphp.online/bianchen/UploadFiles_4619/201701/2017011717401020.jpg
)
)


  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved