<sup id="m40ya"></sup>
  • 
    
  • <kbd id="m40ya"></kbd>
    <samp id="m40ya"></samp>
    <ul id="m40ya"></ul>
  • 更多精彩內容,歡迎關注:

    視頻號
    視頻號

    抖音
    抖音

    快手
    快手

    微博
    微博

    PHP7 preg_replace出錯及解決辦法

    文檔

    PHP7 preg_replace出錯及解決辦法

    在本篇文章里小編給大家整理的是一篇關于PHP7 preg_replace出錯及解決辦法,有需要的朋友們可以跟著學習下。e修飾符因為存在安全隱患,自5.3 開始就已經標記為了待移除的內容。轉而接替的是 preg_replace_callback,此方法第二個參數為一個回調函數,回調函數會自動傳入比配的分組作為參數。
    推薦度:
    導讀在本篇文章里小編給大家整理的是一篇關于PHP7 preg_replace出錯及解決辦法,有需要的朋友們可以跟著學習下。e修飾符因為存在安全隱患,自5.3 開始就已經標記為了待移除的內容。轉而接替的是 preg_replace_callback,此方法第二個參數為一個回調函數,回調函數會自動傳入比配的分組作為參數。

    問題描述:

    PHP7廢棄了preg_replace?

    原本是中php5中處理url中后面參數替換清除的,代碼如下

    $url?=?preg_replace('/([?&])src=[^&]+(&?)/e',?'"$2"==""?"":"$1"',?$url);

    但是到php7中就報錯了

    需要用preg_replace_callback來替換,請問該咋辦?

    相關代碼

    $url?=?preg_replace('/([?&])src=[^&]+(&?)/e',?'"$2"==""?"":"$1"',?$url);
    問題分析:

    e修飾符因為存在安全隱患 自 5.3 開始就已經標記為了待移除的內容。

    轉而接替的是 preg_replace_callback,此方法第二個參數為一個回調函數,回調函數會自動傳入比配的分組作為參數。在回調函數內部通過數組下標訪問匹配組。

    preg_replace_callback('/([?&])src=[^&]+(&?)/',?function($matches){
    ????return?$matches[2]==""?"":$matches[1];
    },?$url);

    知識點擴展:

    PHP7已經刪除了preg_replace的e修飾符

    官網提示是這樣的,對/e修飾符的支持已刪除。請改用preg_replace_callback()

    原因是/e 修正符使 preg_replace() 將 replacement 參數當作 PHP 代碼(在適當的逆向引用替換完之后),會被一句話后門使用

    看看smarty中是也是這樣用的,也是存在問題

    $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);
    可以把smarty模板修改成這個
    $source_content?=?preg_replace_callback($search,?function?($matches){
    $str="";
    $str.=$this->_quote_replace($this->left_delimiter)?.?'php';
    $str.=str_repeat("\\n\\",?substr_count($matches[1],?"\\n\\"));
    $str.=$this->_quote_replace($this->right_delimiter);
    return?$str;
    },?$source_content);

    到此這篇關于PHP7 preg_replace 出錯及解決辦法的文章就介紹到這了,希望大家以后多多支持好二三四!

    文檔

    PHP7 preg_replace出錯及解決辦法

    在本篇文章里小編給大家整理的是一篇關于PHP7 preg_replace出錯及解決辦法,有需要的朋友們可以跟著學習下。e修飾符因為存在安全隱患,自5.3 開始就已經標記為了待移除的內容。轉而接替的是 preg_replace_callback,此方法第二個參數為一個回調函數,回調函數會自動傳入比配的分組作為參數。
    推薦度:
    為你推薦
    資訊專欄
    熱門視頻
    相關推薦
    php判斷時間戳是否為今天實例講解 PHP實現JWT的Token登錄認證 PHP中empty()和isset()的區別介紹 php去掉一維數組的鍵值的實例方法 php7安裝mysqli實例講解 PHP對接抖音開發平臺接口的詳細教程 PHP7中對十六進制字符串處理的問題詳解 php生成唯一uid的解決方法詳解 php兩種基本的輸出方及實例詳解 PHP遍歷數組的6種方式總結 JS截取字符串的三種方法詳解 Python常用的正則表達式處理函數詳解 一文秒懂python正則表達式常用函數 python正則表達式語法學習筆記 帶動物的詩句 如何關閉360畫報 叮咚怎么搶菜 網易云一起聽怎么添加歌 adobe creative cloud是什么軟件 24歲是什么年華 關于杏花的詩句 帶飛的詩句 形容女人漂亮的詩句 春花的詩句 描寫初春的詩句 描寫燕子的詩句 帶有春字的詩句 春游的詩句 形容美女的詩句 有意境的詩句 形容春天的詩句唯美 踏春的詩句 純棉白色衣服發黃了怎么可以洗白 夏天衣服背部發黃怎樣洗白 白衣服有點發黃怎么洗白 白棉麻衣服發黃洗白小竅門 白衣服發黃了怎么洗才能白 用什么方法可以把發黃衣服洗白 白色衣服發黃怎么洗白了 藍色衣服發黃快速洗白
    Top 精品水蜜桃久久久久久久| 1024你懂的国产精品| 国产嫩草影院精品免费网址| 91国内揄拍国内精品情侣对白| 99久久精品毛片免费播放| 国产精品免费看香蕉| 91麻豆精品国产一级| 99久久99久久免费精品小说| av蓝导航精品导航| 亚洲人成国产精品无码| 图片区精品综合自拍| 97精品一区二区视频在线观看| 久久精品国1国二国三| 久久久WWW成人免费精品| 国产成人一区二区动漫精品| 最新国产精品剧情在线SS| 97精品免费视频| 久久99青青精品免费观看| 自拍偷自拍亚洲精品第1页 | 国产在线视精品麻豆| 国产精品玖玖玖在线观看| 久久精品人人槡人妻人人玩AV| 精品综合久久久久久97超人| 久久无码精品一区二区三区| jiucao在线观看精品| 国产伦精品一区二区三区无广告 | 四虎影视精品永久免费网站| 黑巨人与欧美精品一区| 亚洲中文字幕久久精品无码A | 国产精品无码免费视频二三区| 亚洲av永久无码精品网址| 亚洲国产综合精品中文第一| 国产精品久久久久9999| 久久成人国产精品免费软件| 亚洲狠狠ady亚洲精品大秀| 91精品视频播放| 91www永久在线精品果冻传媒| 91精品国产自产在线观看高清| 久久精品一区二区三区日韩 | 日韩人妻无码精品专区| 久久中文精品无码中文字幕|