一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

模板引擎正則表達式調(diào)試小技巧

基于正則表達式替換的模板引擎很容易遇上正則表達式最大回溯/遞歸的限制。
惰性匹配并不可怕,正常情況下模板并不會不夠用,往往不會超出限制,discuz的模板引擎就大量使用了。但是因此而不去注意、不去學習,則容易書寫錯誤并遇上問題。
當preg_*返回的是null的時候則要注意了,判斷函數(shù)是is_null.
出錯并不可怕,但是最好把錯誤都完整的輸出,這樣調(diào)試就很容易了。
除了輸出出錯原因,還要輸出匹配的文本和使用的正則,這樣就很容易調(diào)試了。
php代碼
復制代碼 代碼如下:
<?php
if (is_null($tmp)){
$error_code = preg_last_error();
switch($error_code){
case PREG_NO_ERROR :
echo 'PREG_NO_ERROR';
break;
case PREG_INTERNAL_ERROR:
echo 'PREG_INTERNAL_ERROR';
break;
case PREG_BACKTRACK_LIMIT_ERROR:
echo 'PREG_BACKTRACK_LIMIT_ERROR';
break;
case PREG_RECURSION_LIMIT_ERROR:
echo 'PREG_RECURSION_LIMIT_ERROR';
break;
case PREG_BAD_UTF8_ERROR:
echo 'PREG_BAD_UTF8_ERROR';
break;
case PREG_BAD_UTF8_OFFSET_ERROR:
echo 'PREG_BAD_UTF8_OFFSET_ERROR';
break;
default:
echo 'UNKNOW ERROR';
}
exit;
}

參考資料
1、2010, Laruence 《深悉正則(pcre)最大回溯/遞歸限制》
2、2011, php中文手冊 preg_last_error

php技術(shù)模板引擎正則表達式調(diào)試小技巧,轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 色老板免费| 在线免费看黄网站 | 91麻豆精品国产高清在线 | 亚洲国产精品一区二区三区 | 久久精品伊人 | 真实国产伦在线视频免费播放 | 欧美日韩另类在线观看视频 | 四虎精品免费永久在线 | 四虎影在线永久免费观看 | 久久综合九色综合狠狠97 | 国产精品一区二区国产 | 免费真实播放国产乱子伦 | 91精品全国免费观看含羞草 | 亚洲午夜久久久久久噜噜噜 | 亚洲视频一二三 | 国产人成午夜免视频网站 | 久草手机在线播放 | 怡红院亚洲红怡院天堂麻豆 | 网站免费满18成年在线观看 | 亚洲大色堂 | 美女视频国产 | 一二三四视频在线社区7 | 亚洲视频免费一区 | 思思久久q6热在精品国产 | 色婷婷色婷婷 | 午夜dj观看在线影院 | 伊人蕉久 | 欧美精品成人一区二区视频一 | 911国内自产亚洲第一 | 美女视频永久黄网站免费观看韩国 | 黄片毛片在线观看 | 欧美综合在线观看 | 韩国一级毛片在线高清免费 | 2021国产精品自拍 | 一本加勒比hezyo东京re高清 | 国产一级一级一级成人毛片 | 成人精品亚洲人成在线 | 久久精品一级 | 在线精品国产成人综合第一页 | va免费视频 | 中文字幕久久久久久精 |