例如,我有:
$one = 'aaa bbb ccc sss ddd www';
$two = '### !!!';
$three = '111 222 333 444';我想在php函数中显示每个字符串最多3个单词:
echo functioncut($one) = aaa bbb ccc
echo functioncut($two) = ### !!!
echo functioncut($three) == 111 222 333感谢您的帮助!
发布于 2011-09-12 16:45:29
使用explode,您可以获得一个单词数组:
$allwords = explode(' ', $one);使用array_chunk可以轻松地获取前三个元素
$chunks = array_chunk($allwords, 3);
$firstthreewords = $chunks[0];至少,使用implode来获取一个字符串:
$string = implode(' ', $firstthreewords);将其封装到单个函数中将为我们提供:
function functioncut($v){
$allwords = explode(' ', $v);
$chunks = array_chunk($allwords, 3);
return implode(' ', $chunks[0]);
}或者(简短易懂,但有点难读):
function functioncut($v){
return implode(' ',array_shift(array_chunk(explode(' ', $v), 3)));
}发布于 2011-09-12 16:46:33
我不知道有任何PHP函数可以做到这一点。但是你可以试试这个:
function wordSplit( $string, $number ) {
return implode( ' ', array_slice( explode( ' ', $string ), 0, $number ) );
}
echo wordSplit( 'aaa bbb ccc sss ddd www', 3 ); // aaa bbb ccc发布于 2011-09-12 16:45:53
使用explode将字符串按空格拆分,然后仅回显数组中的前3个字符...
$one = 'aaa bbb ccc sss ddd www';
$r1 = explode(' ',$one);
echo $r1[0].' '.$r1[1].' '.$r1[2];https://stackoverflow.com/questions/7385238
复制相似问题