欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

PHP正則解析多重循環(huán)模板示例

 更新時(shí)間:2018年06月29日 09:37:28   作者:WhoAmMe  
這篇文章主要介紹了PHP正則解析多重循環(huán)模板,結(jié)合實(shí)例形式分析了php基于正則的循環(huán)遍歷與解析相關(guān)操作技巧,需要的朋友可以參考下

本文實(shí)例講述了PHP正則解析多重循環(huán)模板。分享給大家供大家參考,具體如下:

$str = "客戶您好,為您推薦以下項(xiàng)目:(crm{項(xiàng)目2:項(xiàng)目名稱} (crm{項(xiàng)目3:項(xiàng)目名稱}crm)  crm)以及(crm{項(xiàng)目1:項(xiàng)目名稱}crm)";
$start = '(crm'; //循環(huán)開始標(biāo)記
$end  = 'crm)'; //循環(huán)結(jié)束標(biāo)記   
//循環(huán)標(biāo)記,需要轉(zhuǎn)移的符號(hào),前面需要加入轉(zhuǎn)義符 '\'
$need_escape = array('^', '$', '(', ')', '.', '[', ']', '|', '*', '?', '+', '/', '{', '}');
foreach($need_escape as $val)
{
   if(strpos($start, $val) !== FALSE)//存在需要轉(zhuǎn)義的符號(hào)
   { 
     $escape = '\\'.$val;
     $start = str_replace($val, $escape, $start);
   }
   if(strpos($end, $val) !== FALSE)//存在需要轉(zhuǎn)義的符號(hào)
   { 
     $escape = '\\'.$val;
     $end = str_replace($val, $escape, $end);
   }
}
/*----------------------------------
* 正則解析出【沒有子循環(huán)】的【循環(huán)】
* 【沒有子循環(huán)】:不包含循環(huán)開始標(biāo)記
* 【循環(huán)】:被循環(huán)標(biāo)記包含(開始標(biāo)記、結(jié)束標(biāo)記)
* ---------------------------------*/
//$pattern = '/\(crm((?!\(crm).)+crm\)/U';
$pattern = '/'.$start.'((?!'.$start.').)+'.$end.'/U';
preg_match_all($pattern, $str, $matches);
echo "<pre>";
print_r($matches);
echo "</pre>";

運(yùn)行結(jié)果:

Array
(
    [0] => Array
        (
            [0] => (crm{項(xiàng)目3:項(xiàng)目名稱}crm)
            [1] => (crm{項(xiàng)目1:項(xiàng)目名稱}crm)
        )
    [1] => Array
        (
            [0] => }
            [1] => }
        )
)

PS:這里再為大家提供2款非常方便的正則表達(dá)式工具供大家參考使用:

JavaScript正則表達(dá)式在線測(cè)試工具:
http://tools.jb51.net/regex/javascript

正則表達(dá)式在線生成工具:
http://tools.jb51.net/regex/create_reg

更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《php正則表達(dá)式用法總結(jié)》、《php程序設(shè)計(jì)安全教程》、《php安全過(guò)濾技巧總結(jié)》、《PHP數(shù)組(Array)操作技巧大全》、《PHP基本語(yǔ)法入門教程》、《php字符串(string)用法總結(jié)》及《php+mysql數(shù)據(jù)庫(kù)操作入門教程

希望本文所述對(duì)大家PHP程序設(shè)計(jì)有所幫助。

相關(guān)文章

最新評(píng)論