Как я могу взорвать строку одним или несколькими пробелами или вкладками?
Пример:
A B C D
Я хочу сделать этот массив.
Как я могу взорвать строку одним или несколькими пробелами или вкладками?
Пример:
A B C D
Я хочу сделать этот массив.
$parts = preg_split('/\s+/', $str);
Разделить по вкладкам:
$comp = preg_split("/[\t]/", $var);
Чтобы разделить пробелы/табуляции/новые строки:
$comp = preg_split('/\s+/', $var);
Отделить только местами:
$comp = preg_split('/ +/', $var);
Это работает:
$string = 'A B C D';
$arr = preg_split('/[\s]+/', $string);
Я думаю, вы хотите preg_split
:
$input = "A B C D";
$words = preg_split('/\s+/', $input);
var_dump($words);
Автор попросил взорваться, вы можете использовать взрыв, как этот
$resultArray = explode("\t", $inputString);
Примечание: вы должны использовать двойную кавычку, а не одиночную.
вместо того, чтобы использовать explode, попробуйте preg_split: http://www.php.net/manual/en/function.preg-split.php
Чтобы учесть пространство полной ширины, например
full width
вы можете расширить Bens ответ на этот вопрос:
$searchValues = preg_split("@[\s+ ]@u", $searchString);
Источники:
(У меня недостаточно репутации, чтобы опубликовать комментарий, поэтому я написал это как ответ.)
Explode string by 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 это не имеет значения, вы можете просто разделить пространство с взрывом. Пока вы не захотите использовать эти значения, проведите по разнесенным значениям и отбросите пробелы.
$str = "A B C D";
$s = explode(" ",$str);
foreach ($s as $a=>$b){
if ( trim($b) ) {
print "using $b\n";
}
}