中文字幕日韩一区二区_国产一区二区av_国产毛片av_久久久久国产一区_色婷婷电影_国产一区二区精品

模板引擎正則表達式調試小技巧

基于正則表達式替換的模板引擎很容易遇上正則表達式最大回溯/遞歸的限制。
惰性匹配并不可怕,正常情況下模板并不會不夠用,往往不會超出限制,discuz的模板引擎就大量使用了。但是因此而不去注意、不去學習,則容易書寫錯誤并遇上問題。
當preg_*返回的是null的時候則要注意了,判斷函數是is_null.
出錯并不可怕,但是最好把錯誤都完整的輸出,這樣調試就很容易了。
除了輸出出錯原因,還要輸出匹配的文本和使用的正則,這樣就很容易調試了。
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技術模板引擎正則表達式調試小技巧,轉載需保留來源!

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

主站蜘蛛池模板: 日屁视频 | 久久国产视频网站 | 欧美日本在线观看 | 国产欧美精品区一区二区三区 | 国产线视频精品免费观看视频 | 精品国产乱码久久久久久蜜柚 | 一级片成人 | 九一在线观看 | 先锋资源在线 | 中文字幕av第一页 | 欧美一级黑人aaaaaaa做受 | 天天干免费视频 | 91在线精品秘密一区二区 | 久久久久免费精品国产小说色大师 | 欧美色999| 亚洲91精品 | 黄色欧美在线 | 最新免费视频 | 成人精品国产一区二区4080 | 日本国产精品视频 | 91xh98hx 在线 国产 | 青娱乐国产 | 精品国产不卡一区二区三区 | 欧美一级淫片免费视频黄 | 翔田千里一区二区 | 日韩中文字幕在线不卡 | 国产一区二区高清在线 | 91在线精品视频 | 日韩在线精品 | 国产精品久久久久久久久久久久久 | 最新国产视频 | 午夜免费视频观看 | 欧美日韩久久 | 免费看国产精品视频 | 九九热精品在线视频 | 中文字幕在线免费 | 日韩1区 | 视频精品一区 | 国产成人午夜电影网 | 精品国产一区二区国模嫣然 | 天天干天天玩天天操 |