2010-08-09 127 views

回答

7

試試這個:

$output = preg_replace('/\s*,\s*/', ',', $str); 

這將被一個逗號替換可能的前端和後端的空白字符(\s)所有逗號。

1

你不需要這個正則表達式。

$output = explode(',', $input); 
$output = array_map('trim', $output); 
$output = implode(',', $output); 
+0

確實如此,但是正則表達式(特別是像這樣的微不足道的)應該比映射函數和多個數據類型轉換更有效率...... – ircmaxell 2010-08-09 16:24:52

+0

除了空白之外,這將修正逗號前/後的新行。如果這是可以接受的,那絕對是最快的選擇。 – meagar 2010-08-09 16:46:05

+0

我想這確實是一個你發現更具可讀性的問題。我發現我發佈的內容比正則表達式更容易理解,但那是因爲我不處理正則表達式。我可以看到有人可能會發現正則表達式方法更容易理解,而且這一點非常重要。 – Hammerite 2010-08-09 16:46:41