2012-05-17 77 views
0

我在stackoverflow上找到了此解決方案以獲取句子中的第一個單詞。從字符串中獲取第一個字,但分隔符不同

$myvalue = 'Test me more'; 
$arr = explode(' ',trim($myvalue)); 
echo $arr[0]; // will print Test 

但是,這種情況下需要''(空格)作爲分隔符。有誰知道如何從字符串中得到第一個單詞,如果你不知道分隔符是什麼?它可以是''(空間)'。' (句號),'。' (或逗號)。基本上,你如何從字符串中取出任何信件,直到沒有字母的地方?

例如爲:

  • 之家,這裏句子其餘「會給 '房子'
  • '家'。也給「家」
  • 「房子的事」也給「家」

謝謝!

+0

將分隔符存儲在數組中,同時使用爆炸查看分隔符是否與數組列表匹配並取值 – sree

+0

[preg_split](http://ru2.php.net/manual/en/function.preg- split.php)? –

回答

2

preg_split是你在找什麼。

$str = "bla1 bla2,bla3"; 
$words = preg_split("/[\s,]+/", $str); 

這段代碼將$ str分割爲空格\ t,逗號\ n。

0

使用preg_match()功能與正則表達式:

if (preg_match('/^\w*/', 'Your text here', $matches) > 0) { 
    echo $matches[0]; // $matches[0] will contain the first word of your sentence 
} else { 
    // no match found 
} 
1

有可用於拆分字符串轉換成較小的字符串基於一些分離器(令牌)(一個字符串函數(strtok)類)。對於此線程而言,Test me more的第一個單詞(定義爲第一個空格字符之前的任何內容)可以通過標記獲得空格字符上的字符串。

<?php 
$value = "Test me more"; 
echo strtok($value, " "); // Test 
?> 

有關更多詳細信息和示例,請參閱strtok PHP manual page

相關問題