在PHP中,mb_ereg_replace函數用於多字節字符串的正則替換操作,特別適用於中文或其他多字節字符環境。其基本用法為:
" ; echo '$newString = mb_ereg_replace($pattern, $replacement, $string);' ; // 2. 單一子串替換示例 echo "
比如,將字符串中的“蘋果”替換為“香蕉”:
" ; $string = "我喜歡蘋果和蘋果汁" ; $newString = mb_ereg_replace ( "蘋果" , "香蕉" , $string ); echo "原字符串: <span>$string</span>\n替換後: $newString "; // 3. 替換多個不同子串的技巧 echo "
可以用正則模式通過管道符“|”一次匹配多個子串:
" ; $string = "我喜歡蘋果、橙子和香蕉" ; $pattern = "蘋果|橙子|香蕉" ; $replacement = "水果" ; $newString = mb_ereg_replace ( $pattern , $replacement , $string ); echo "原字符串: <span>$string</span>\n替換後: $newString "; echo "
如果每個子串的替換內容不同,可以將其放入數組循環:
" ; $string = "我喜歡蘋果、橙子和香蕉" ; $replacements = [ "蘋果" => "蘋果派" , "橙子" => "橙汁" , "香蕉" => "香蕉奶昔" ]; foreach ( $replacements as $search => $replace ) { $string = mb_ereg_replace ( $search , $replace , $string ); } echo "替換後: <span>$string</span>"; echo "
通過匿名函數處理更複雜的替換邏輯:
" ; $string = "我喜歡蘋果、橙子和香蕉" ; $pattern = "蘋果|橙子|香蕉" ; $map = [ "蘋果" => "Apple" , "橙子" => "Orange" , "香蕉" => "Banana" ]; $newString = mb_ereg_replace ( $pattern , function( $matches ) use ($ map ) { return $ map [$ matches [0]]; }, $string ); echo "替換後: <span>$newString</span>"; // 4. 提升代碼效率的關鍵 echo "
總結:掌握管道符正則、數組循環替換以及回調函數技巧,能夠高效地使用mb_ereg_replace替換多個不同子串,同時保證多字節字符安全。
" ; ?>