cero o más espacios implica que cada elemento tendrá como máximo un carácter, o que tendrá infinitos elementos vacíos. ¿Estás seguro de que esto es lo que quieres?
bdonlan
Sí, eso probablemente debería ser "uno o más espacios".
Las respuestas proporcionadas por otras personas (Ben James) son bastante buenas y las he usado. Como señala user889030, el último elemento de matriz puede estar vacío. En realidad, el primer y el último elemento de la matriz pueden estar vacíos. El siguiente código aborda ambos problemas.
# Split an input string into an array of substrings using any set# whitespace charactersfunction explode_whitespace($str){# Split the input string into an array
$parts = preg_split('/\s+/', $str);# Get the size of the array of substrings
$sizeParts =sizeof($parts);# Check if the last element of the array is a zero-length stringif($sizeParts >0){
$lastPart = $parts[$sizeParts-1];if($lastPart ==''){
array_pop($parts);
$sizeParts--;}# Check if the first element of the array is a zero-length stringif($sizeParts >0){
$firstPart = $parts[0];if($firstPart =='')
array_shift($parts);}}return $parts;}
Explodestringby one or more spaces or tabs in php example as follow:<?php
$str ="test1 test2 test3 test4";
$result = preg_split('/[\s]+/', $str);
var_dump($result);?>/** To seperate by spaces alone: **/<?php
$string ="p q r s t";
$res = preg_split('/ +/', $string);
var_dump($res);?>
@OP no importa, solo puedes dividir en un espacio con explotar. Hasta que desee utilizar esos valores, repita los valores explotados y descarte los espacios en blanco.
$str ="A B C D";
$s = explode(" ",$str);foreach($s as $a=>$b){if( trim($b)){print"using $b\n";}}
Respuestas:
fuente
$parts = preg_split('/\s+/', $str, -1, PREG_SPLIT_NO_EMPTY);
Para separar por pestañas:
Para separar por espacios / pestañas / líneas nuevas:
Para separar por espacios solo:
$comp = preg_split('/ +/', $var);
fuente
Esto funciona:
fuente
El autor pidió explotar, para que pueda utilizar explotar de esta manera
$resultArray = explode("\t", $inputString);
Nota: debe usar comillas dobles, no simples.
fuente
Creo que quieres
preg_split
:fuente
en lugar de usar explotar, intente preg_split: http://www.php.net/manual/en/function.preg-split.php
fuente
Para tener en cuenta el espacio de ancho completo , como
puedes extender la respuesta de Bens a esto:
Fuentes:
(No tengo suficiente reputación para publicar un comentario, así que escribí esto como respuesta).
fuente
Las respuestas proporcionadas por otras personas (Ben James) son bastante buenas y las he usado. Como señala user889030, el último elemento de matriz puede estar vacío. En realidad, el primer y el último elemento de la matriz pueden estar vacíos. El siguiente código aborda ambos problemas.
fuente
fuente
@OP no importa, solo puedes dividir en un espacio con explotar. Hasta que desee utilizar esos valores, repita los valores explotados y descarte los espacios en blanco.
fuente