$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
usingarray_map
on any resulting group of words
Use the php str_split
function:-
$pieces = str_split( $str, 3);
精彩评论