smarty如何完美兼容php5.5和preg_replace_callback如何替換preg_replace

意思是說用preg_replace_callback來代替preg_replace里的/e參數(shù),可能是因為安全性的考慮,在php5.5中把這個參數(shù)取消了,但是這個preg_replace_callback函數(shù)用起來不順手,我就把那個Smarty_Compiler.class.php文件里的第270行里的preg_replace($search.'e'里的e去掉了,果然好了,可是問題又出來了,這個問題出來的幾率不多,就是無法在smarty模板里寫入php標簽代碼:{php}{/php}。
沒辦法還是要把這個preg_replace()用preg_replace_callback()函數(shù)來替換,具體替換方法如下:
在Smarty_Compiler這個類里加入一個方法:
function callback_source($matches){
return "".$this->_quote_replace($this->left_delimiter)."php".str_repeat("n",substr_count("","n"))."".$this->_quote_replace($this->right_delimiter)."";
}
然后在第270行左右找到:
$source_content = preg_replace($search.'e', "'"
. $this->_quote_replace($this->left_delimiter) . 'php'
. "' . str_repeat("n", substr_count('\0', "n")) .'"
. $this->_quote_replace($this->right_delimiter)
. "'"
, $source_content);
替換成:
$source_content = preg_replace_callback($search,
array("self","callback_source")
, $source_content);
即可,這樣就可以完美兼容php5.5了。
本文發(fā)布于尚品中國 網(wǎng)站制作公司
建站流程
-
網(wǎng)站需求
-
網(wǎng)站策劃方案
-
頁面設計風格
-
確認交付使用
-
資料錄入優(yōu)化
-
程序設計開發(fā)
-
后續(xù)跟蹤服務
-
聯(lián)系電話
010-60259772
熱門標簽
- 網(wǎng)站建設
- 食品網(wǎng)站建設
- 微信小程序開發(fā)
- 小程序開發(fā)
- 無錫網(wǎng)站建設
- 研究所網(wǎng)站建設
- 沈陽網(wǎng)站建設
- 廊坊網(wǎng)站建設
- 鄭州網(wǎng)站建設
- 婚紗攝影網(wǎng)站建設
- 手機端網(wǎng)站建設
- 高校網(wǎng)站制作
- 天津網(wǎng)站建設
- 教育網(wǎng)站建設
- 品牌網(wǎng)站建設
- 政府網(wǎng)站建設
- 北京網(wǎng)站建設
- 網(wǎng)站設計
- 網(wǎng)站制作
最新文章
推薦新聞
更多行業(yè)-
Chrome瀏覽器市場份額升至約25% IE降至40%
Chrome瀏覽器市場份額升至約25% IE降至40%谷歌Chrome...
2011-11-05 -
關(guān)于seo人才的挑選培訓的個人見解
新的一年到來,很多在校的學生開始走出校門,走向社會,開始新的征程讓...
2012-02-05 -
高端網(wǎng)站制作是如何規(guī)劃的?
我們發(fā)現(xiàn)很多企業(yè)在做官網(wǎng)的時候只是把自己想展示的信息堆在頁面上,而沒有...
2023-04-13 -
新手站長適合什么樣的服務器
對于新手站長來說,如何選擇一款適合自己網(wǎng)站的服務器是一個頭疼的問題。不...
2021-03-17 -
網(wǎng)頁設計尺寸規(guī)范及標準詳解
絕大多數(shù)屏幕的分辨率已經(jīng)超過 1366*768,這是個屏幕逐漸變大的趨...
2018-04-25 -
什么是子網(wǎng)掩碼
子網(wǎng)分割技術(shù):通過向主機標識“借”位,用于標識...
2014-06-27
預約專業(yè)咨詢顧問溝通!
免責聲明
非常感謝您訪問我們的網(wǎng)站。在您使用本網(wǎng)站之前,請您仔細閱讀本聲明的所有條款。
1、本站部分內(nèi)容來源自網(wǎng)絡,涉及到的部分文章和圖片版權(quán)屬于原作者,本站轉(zhuǎn)載僅供大家學習和交流,切勿用于任何商業(yè)活動。
2、本站不承擔用戶因使用這些資源對自己和他人造成任何形式的損失或傷害。
3、本聲明未涉及的問題參見國家有關(guān)法律法規(guī),當本聲明與國家法律法規(guī)沖突時,以國家法律法規(guī)為準。
4、如果侵害了您的合法權(quán)益,請您及時與我們,我們會在第一時間刪除相關(guān)內(nèi)容!
聯(lián)系方式:010-60259772
電子郵件:394588593@qq.com