很久沒有遇上PHP難題了
基於正則表達式替換的模板引擎很容易遇上正則表達式最大回溯/遞歸的限制
惰性匹配並不可怕
當preg_*返回的是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_UTF
_ERROR: - echo
PREG_BAD_UTF _ERROR ; - break;
- case PREG_BAD_UTF
_OFFSET_ERROR: - echo
PREG_BAD_UTF _OFFSET_ERROR ; - break;
- default:
- echo
UNKNOW ERROR ; - }
- exit;
- }
參考資料
From:http://tw.wingwit.com/Article/program/PHP/201311/21289.html