2012-05-11 201 views

回答

4

較大或較小的使用爆炸/破滅:

$str  = 'a,b,c,d,e,f,g'; 
$temp1 = explode(',',$str); 
$temp2 = array_slice($temp1, 0, 3); 
$new_str = implode(',', $temp2); 

使用正則表達式:

$new_str = preg_replace('/^((?:[^,]+,){2}[^,]+).*$/','\1',$str); 
+0

如果你打算使用'explode'爲此,傳遞設置爲1'limit'第三個參數+你想限制無用功的項目數。 http://php.net/manual/en/function.explode.php –

1

地嘗試一下PHP的explode()功能。

$string_array = explode(",",$string); 

遍歷數組得到你想要的值:

for($i = 0; $i < sizeof($string_array); $i++) 
{ 
echo $string_array[$i];//display values 
} 
0

一種方法是在一個逗號後面的字符串分割,並把第100個指數一起(以逗號分隔)。 在此之前,你必須檢查是否計數(陣列)比100

1

你可以這樣做的找到第100個分隔符:

$delimiter = ','; 
$count = 100; 
$offset = 0; 
while((FALSE !== ($r = strpos($subject, $delimiter, $offset))) && $count--) 
{ 
    $offset = $r + !!$count; 
} 
echo substr($subject, 0, $offset), "\n"; 

或類似地標記它:

$delimiter = ','; 
$count = 100; 
$len = 0; 
$tok = strtok($subject, $delimiter); 
while($tok !== FALSE && $count--) 
{ 
    $len += strlen($tok) + !!$count; 
    $tok = strtok($delimiter); 
} 
echo substr($subject, 0, $len), "\n";