2014-03-03 96 views
1

我有一個標題,如The Oak TreeThe Pine爆炸由一個字

我成立$stylename = explode("The", $row->title);

這應該爆炸的短語,

$stylename[0] = 'The'; $stylename[1] = 'Oak Tree';

但是相反$stylename[0]是空的。

如何更改上述代碼以導出我需要的內容?

感謝

+2

你可能而不是想分割空白。 – GordonM

+3

爆炸消除了用作分隔符的項目,這就是爲什麼'The'不存在。 – Prix

回答

1

使用preg_split

// split on the spaces which has `The` in front of it. 
$stylename = preg_split('/(?<=The)\s+/', $row->title); 
3

在你給它的字符串爆炸分裂,所以你必須「」(無),則「中的」(這是什麼把它拆分AT),然後(它的其餘部分),更簡單「ABC 「當你用b爆炸時產生兩個字符串」a「和」c「。

使用preg_split替代一個微不足道的正則表達式,或者人爲地將「the」加回去,正則表達式更好,因爲你可以使它不區分大小寫,你可能想要的(「標題中的」應該有一個小寫字母「t 「)

0

explode(" ", $row->title, 1)應該這樣做你想要的方式。

1是給定字符串應該被分割多少次的限制。

http://php.net/explode

0

嘗試

$stylename = explode(" ", "The Oak tree"); 
$result[0] = $stylename[0]; 
unset($stylename[0]); 
$result[1] = implode(" ",$stylename); 
unset($stylename); 

看到演示here

0

做到這一點

$stylename = explode(" ", trim($row->title),1); 

這應該工作