Размытие строки одним или несколькими пробелами или вкладками

Как я могу взорвать строку одним или несколькими пробелами или вкладками?

Пример:

A      B      C      D

Я хочу сделать этот массив.

Ответ 1

$parts = preg_split('/\s+/', $str);

Ответ 2

Разделить по вкладкам:

$comp = preg_split("/[\t]/", $var);

Чтобы разделить пробелы/табуляции/новые строки:

$comp = preg_split('/\s+/', $var);

Отделить только местами:

$comp = preg_split('/ +/', $var);

Ответ 3

Это работает:

$string = 'A   B C          D';
$arr = preg_split('/[\s]+/', $string);

Ответ 4

Я думаю, вы хотите preg_split:

$input = "A  B C   D";
$words = preg_split('/\s+/', $input);
var_dump($words);

Ответ 5

Автор попросил взорваться, вы можете использовать взрыв, как этот

$resultArray = explode("\t", $inputString);

Примечание: вы должны использовать двойную кавычку, а не одиночную.

Ответ 7

Чтобы учесть пространство полной ширины, например

full width

вы можете расширить Bens ответ на этот вопрос:

$searchValues = preg_split("@[\s+ ]@u", $searchString);

Источники:

(У меня недостаточно репутации, чтобы опубликовать комментарий, поэтому я написал это как ответ.)

Ответ 8

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);
    ?>

Ответ 9

@OP это не имеет значения, вы можете просто разделить пространство с взрывом. Пока вы не захотите использовать эти значения, проведите по разнесенным значениям и отбросите пробелы.

$str = "A      B      C      D";
$s = explode(" ",$str);
foreach ($s as $a=>$b){    
    if ( trim($b) ) {
     print "using $b\n";
    }
}