我有一個逗號分隔的字符串,並希望前100個條目(不包括第100個逗號)作爲單個字符串。因此,例如如何獲取逗號分隔字符串的子字符串?
,如果我有串
a,b,c,d,e,f,g
,問題就得到了前3個表,所期望的結果字符串將
a,b,c
我有一個逗號分隔的字符串,並希望前100個條目(不包括第100個逗號)作爲單個字符串。因此,例如如何獲取逗號分隔字符串的子字符串?
,如果我有串
a,b,c,d,e,f,g
,問題就得到了前3個表,所期望的結果字符串將
a,b,c
較大或較小的使用爆炸/破滅:
$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);
地嘗試一下PHP的explode()功能。
$string_array = explode(",",$string);
遍歷數組得到你想要的值:
for($i = 0; $i < sizeof($string_array); $i++)
{
echo $string_array[$i];//display values
}
一種方法是在一個逗號後面的字符串分割,並把第100個指數一起(以逗號分隔)。 在此之前,你必須檢查是否計數(陣列)比100
你可以這樣做的找到第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";
如果你打算使用'explode'爲此,傳遞設置爲1'limit'第三個參數+你想限制無用功的項目數。 http://php.net/manual/en/function.explode.php –