<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 高清国产精品久久| 青青青青久久精品国产| 久久99久久精品视频| 国产福利vr专区精品| 九九精品99久久久香蕉| 国产韩国精品一区二区三区| 国产精品俺来也在线观看| 国产AV午夜精品一区二区三| 国精品午夜福利视频不卡757| 国产亚洲精品无码成人| 国产精品色午夜视频免费看| 91精品久久久久久久久久| 久久久精品波多野结衣| 成人精品视频一区二区三区尤物 | 亚洲熟妇久久精品| 久久精品中文字幕久久| 狠狠热精品免费观看| 精品一卡2卡三卡4卡乱码精品视频 | 日韩精品视频免费在线观看| 亚洲精品日韩专区silk| 亚洲精品无码专区在线在线播放 | 亚洲精品国产第一综合99久久| 精品国产品香蕉在线观看75| re99热久久这里只有精品| 国产精品亚洲av色欲三区| 91久久精品一区二区| 国产精品无码无需播放器| 国产A√精品区二区三区四区| 精品日产一卡2卡三卡4卡自拍| 91天堂素人精品系列网站| 亚洲AV无码国产精品色午友在线 | 亚洲国产精品福利片在线观看| 亚洲一区无码精品色| 国产精品视频免费一区二区三区| 亚洲精品美女网站| 亚洲理论精品午夜电影| 亚洲一区精品中文字幕| 亚洲精品无码成人AAA片| 精品一区二区三区在线观看| 青草国产精品视频。| 国产精品久久久久影院|