萬盛學電腦網

您现在的位置: 萬盛學電腦網 >> 程式設計 >  >> 網路程式設計 >> PHP 程式設計

PHP / JavaScript 移除字串中方括號 [] 內容的多種方法

需求場景

常見於解析類 BBCode、模板標記或自訂標記格式,需從字串中移除 [ 與 ] 並取得內容。

PHP 實作

方法一:str_replace 簡單替換

$str = '你的[字符串]內容';
$str = str_replace('[', '', $str);
$str = str_replace(']', '', $str);
echo $str; // 輸出:你的字符串內容

方法二:正則表達式一次處理

$str = '你的[字符串]內容';
$str = preg_replace('/[\[\]]/', '', $str);
echo $str;

方法三:擷取括號內容(保留內容、移除括號)

$str = '標題[內容]結尾';
preg_match_all('/\[([^\]]+)\]/', $str, $matches);
print_r($matches[1]); // Array ( [0] => 內容 )

JavaScript 實作

方法一:replace 搭配全域旗標

var str = '你的[字符串]內容';
str = str.replace(/[\[\]]/g, '');
console.log(str); // 你的字符串內容

方法二:split/join 組合

var str = 'A[B]C[D]E';
var parts = str.split(/[\[\]]/);
console.log(parts.join('')); // ABCDE

效能與適用性比較

方法適用情境效能
str_replace / replace單純移除固定字元,字串長度較短最快
preg_replace / 正則需同時處理多種括號、或需擷取內容稍慢但功能強
split/joinJS 陣列操作習慣、需進一步處理分段內容中等

常見陷阱提醒

  • 正則中 [ ] 屬於特殊字元,必須跳脫 \[ \]
  • 若字串包含巢狀括號 [a[b]c],簡單正則會誤判,需用遞迴或狀態機處理
  • 處理大量資料時,PHP 建議用 strtr() 替代多次 str_replace()

原始來源:www.111cn.net

copyright © 萬盛學電腦網 all rights reserved