2016-05-17 27 views
0

假設我有一個包含3到6個單詞的變量。 但我想刪除單詞,直到第一個逗號。要刪除單詞直到第一個逗號

$str="Plot-23, Your Area, Your City"; 

請幫我,我該如何實現它?

我想要這樣的結果。

$str="Your Area, Your City"; 
+0

它是一個保證,會出現輸入字符串逗號?有沒有不會有逗號的情況?這很重要,因爲有些解決方案至少需要一個逗號,有些則不需要。 – kainaw

回答

8
explode(",", $str, 2)[1]; 

explode()將字符串拆分爲指定分隔符處的部分。在這種情況下,分隔符是逗號。第三個參數指定分割字符串的次數限制。指定2的限制意味着字符串只會被分成兩部分,一部分在第一個逗號之前,另一部分在第一個逗號之前。然後使用數組索引訪問第二部分。

如果您使用PHP < 5.4,您需要將explode()的結果分配給一個臨時變量。謝謝@ Don'tPanic指出這一點。

$split = explode(",", $str, 2); 
echo $split[1]; 
+0

對於「23區,你的區域,你的城市」,這將返回「你的區域」。我不認爲這是用戶想要的。 – kainaw

+3

@ kainaw [Nope](http://sandbox.onlinephpfunctions.com/code/e65fcc5b6910536673e9d1c37ac8f5041a8d715f)。 – Chris

+0

你是對的。我沒有注意第三個參數。我建議解釋第三個參數用於什麼。 – kainaw

2

注意:在問題顯示第一個逗號被刪除後,我改變了這個答案以刪除第一個逗號。

這將逗號前的所有內容刪除到第一個逗號,第一個逗號和空格。

$str = preg_replace('/^[^,]*,\s*/', '', $str); 

/... /是一個正則表達式。第一個^表示「字符串的開始」。 [^,]的意思是「不是逗號」。 *表示零個或多個匹配字符。這只是一個逗號 - 你在找什麼。 \是空格字符。

相關問題