日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > php >内容正文

php

php新版本废弃 preg_replace /e 修饰符

發布時間:2025/6/15 php 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 php新版本废弃 preg_replace /e 修饰符 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
php新版本廢棄 preg_replace /e 修飾符 分類: PHP 2014-12-16 13:00 3531人閱讀 評論(3) 收藏 舉報 php正則 最近服務器php版本升級到了 5.6 發現出了很多警告 [php] view plaincopy在CODE上查看代碼片派生到我的代碼片 preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead 一開始沒注意,后來發現 很多這樣的警告,于是網上查了下 發現 php5.5版本以上 就廢棄了 preg_replace 函數中 /e 這個修飾符 /e 這個修飾符的意思 就是讓 正則替換的 時候 替換規則 支持 php 代碼 那么 應該怎么辦呢 其實 只要 把 preg_replace 里面 有 /e 修飾符的代碼 修改成 preg_replace _callback 然后重新寫下就好了 例子 最簡單的 寫法 [php] view plaincopy在CODE上查看代碼片派生到我的代碼片 preg_replace("/([A-Z])/e", "'_' . strtolower('\\1')", $str) 修改成 [php] view plaincopy在CODE上查看代碼片派生到我的代碼片 preg_replace("/([A-Z])/",'gwyy', $str); function gwyy($match) { return '_'.strtolower($match[1]); } 第二個參數是個 函數名 然后在外部寫一個函數 但是 我們每次定義一個函數 感覺很麻煩 所以我們可以用匿名函數比如說 [php] view plaincopy在CODE上查看代碼片派生到我的代碼片 preg_replace("/([A-Z])/e", "'_' . strtolower('\\1')", $str) 修改成 [php] view plaincopy在CODE上查看代碼片派生到我的代碼片 preg_replace_callback('/([A-Z])/', function ($matches) { return '_' . strtolower($matches[0]); }, $str) 即可這里特別警告 修改后 /([A-Z])/e 最后一個 e 一定要去掉 不然就出錯了 如果在類里面 還能這么寫 [php] view plaincopy在CODE上查看代碼片派生到我的代碼片 class a { private $joinStr = "__AAAAA__"; public function __construct() { $this->joinStr = preg_replace_callback("/__([A-Z_-]+)__/sU",array($this,'gwyy'),$this->joinStr); echo $this->joinStr; } public function gwyy($match) { print_r($match); return 'aaa'; } } $a = new a(); 第二個參數不是一個函數 而變成了一個數組 表示 調用 $this 類 里面的 gwyy 方法 執行 gwyy會自動接受到 一個 $match 參數表 下面再看一個稍微復雜點的例子 [php] view plaincopy在CODE上查看代碼片派生到我的代碼片 $patterns = '/'.$begin.$parseTag.$n1.'\/(\s*?)'.$end.'/eis'; $replacement = "\$this->parseXmlTag('$tagLib','$tag','$1','')"; $content = preg_replace($patterns, $replacement,$content); 這個替換 使用了 類里面的自定義方法 如果 你再 用匿名函數直接套的話 會提示 錯誤 因為 匿名函數上下文里面 并沒有 該方法和 該變量 所以 要用 use() 來引入 同時 注意 一定要 把 正則里面 e 去掉 [php] view plaincopy在CODE上查看代碼片派生到我的代碼片 $that = $this; $patterns = '/'.$begin.$parseTag.$n1.'\/(\s*?)'.$end.'/is'; $content=preg_replace_callback($patterns, function($matches) use($tagLib,$tag,$that){ return $that->parseXmlTag($tagLib,$tag,$matches[1],''); },$content); 這里 用 $that 代替 $this; 好了 今天先記錄到這里吧 。小煙原創,轉載請注明出處!

?

總結

以上是生活随笔為你收集整理的php新版本废弃 preg_replace /e 修饰符的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 天堂视频免费在线观看 | 久久久国产精品视频 | 久久久毛片 | 久久久久久亚洲av毛片大全 | 91视频毛片 | 国产av无码专区亚洲av毛片搜 | 四虎影视网 | 亚洲免费大全 | 欧美日韩一区二区在线视频 | 国产婷婷综合 | 免费一区二区三区视频在线 | 日韩色综合网 | 欧美色图亚洲色 | 男生和女生差差的视频 | 蜜臀尤物一区二区三区直播 | 超碰综合 | 欧美在线观看一区 | 特级毛片网站 | 欧美日韩久久久久久 | 中文av一区二区三区 | 久久久久久a | 国产一级做a爰片久久毛片男男 | 毛片日韩 | 日本老年老熟无码 | 四虎在线观看视频 | 欧美人成在线 | 久久夜靖品2区 | 麻豆免费视频网站 | 久久久xxx| 亚洲av电影一区 | 久久久这里有精品 | 日本黄色播放器 | 涩涩精品 | 一本色道久久88亚洲精品综合 | 一区=区三区乱码 | 在线免费观看国产视频 | 天天摸天天做天天爽水多 | 97精品国产97久久久久久春色 | 91网站免费看| 国产精品免费一区二区三区都可以 | 欧美在线三区 | 熟睡人妻被讨厌的公侵犯 | 国产又爽又黄的视频 | 国产乱淫av片免费看 | 91免费版在线 | 国产午夜亚洲精品午夜鲁丝片 | 成人夜夜 | 国产香蕉视频 | 久久er99热精品一区二区介绍 | 国产成人三级在线观看 | 日韩少妇裸体做爰视频 | 婷婷av一区二区三区 | 青青草免费在线 | 男人插女人视频网站 | 欧美xxxxbbb| 久久丫精品国产亚洲av不卡 | 51人人看| 亚洲视频1区 | 男女在线视频 | 欧美在线精品一区二区三区 | 蜜桃成人在线观看 | 成人福利影院 | 色眯眯网| 中日韩免费视频 | 国产日本一区二区 | av收藏小四郎最新地址 | 亚洲AV成人精品 | 午夜青青草 | 欧美一区二区三区激情视频 | 国产又爽又黄的激情精品视频 | 久久综合精品国产二区无码不卡 | 婷婷久久伊人 | 夜夜激情网 | 本田岬av| 超碰个人在线 | 国产欧美视频一区 | 国产精品久久久久久久久免费 | 免费黄网站在线 | 美丽的姑娘在线观看免费 | 少妇被躁爽到高潮无码文 | 日本激情小视频 | 精品一区精品二区 | 成人免费网站黄 | 精品视频久久久久 | 国产毛片精品国产一区二区三区 | 毛片视频网址 | 国产精品一二三四五 | 久久大香 | 欧美久久一区二区 | 日本少妇xx | 91免费短视频| 特黄aaaaaaaaa真人毛片 | 国产色综合视频 | 亚洲熟悉妇女xxx妇女av | 可以在线观看的av网站 | aⅴ天堂网 | 驯服少爷漫画免费观看下拉式漫画 | 91国自产精品中文字幕亚洲 | 欧美日韩在线免费观看视频 |