很久沒有遇上PHP難題了,這次正規問題占了一點時間,還是老問題最大回溯、遞歸限制問題。學習透之後其實並不難修改偵錯有這類問題的正規。主要是以下幾點。
基於正規表達式替換的模板引擎很容易遇上正規表達式最大回溯/遞歸的限制。
惰性匹配並不可怕,正常情況下模板並不會不夠用,往往不會超出限制,discuz的模板引擎就大量使用了。但是因此而不去註意、不去學習,則容易書寫錯誤並遇上問題。
當preg_*返回的是null的時候則要註意了,判斷函數是is_null.
出錯並不可怕,但是最好把錯誤都完整的輸出,這樣偵錯就很容易了。