开发者

Exploding a string into equal portions

$str =  "Hello fri3nd, you're looking good today!  What a Great day this is!  How     fancy and cool!";
$pieces = explode(" ",$str, 3);

print_r($pieces);

so this开发者_高级运维 gives me $pieces[0] = 'Hello',$pieces[1] = 'fri3nd'... and the rest of the string is all shoved into$pieces[3]`. How can I explode into every 3 or 4 words?


Maybe:?

<?php
$str =  "Hello fri3nd, you're looking good today!  What a Great day this is!  How     fancy and cool!";

$array = array_map(create_function('$a', 'return implode(" ", $a);'), array_chunk(preg_split('/\s+/', $str), 3));
var_dump($array);

Explanation:

  • first you split the string at any (combined) whitespace: preg_split
  • then 'split' the resulting array: array_chunk
  • you then apply implode using array_map on any resulting group of words


Use the php str_split function:-

$pieces = str_split( $str, 3);
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜