回答:
$parts = preg_split('/\s+/', $str);
$parts = preg_split('/\s+/', $str, -1, PREG_SPLIT_NO_EMPTY);
作者は爆発を求めました、あなたはこのように爆発を使うことができます
$resultArray = explode("\t", $inputString);
注:単一引用符ではなく、二重引用符を使用する必要があります。
あなたが欲しいと思うpreg_split
:
$input = "A B C D";
$words = preg_split('/\s+/', $input);
var_dump($words);
考慮するためには全角スペースなど
full width
これに対するベンスの答えを拡張することができます:
$searchValues = preg_split("@[\s+ ]@u", $searchString);
出典:
(私はコメントを投稿するのに十分な評判がないので、私は答えとしてこれを書きました。)
他の人々(Ben James)からの回答は非常に優れており、私はそれらを使用しました。user889030が指摘するように、最後の配列要素は空の場合があります。実際には、最初と最後の配列要素は空にすることができます。以下のコードは両方の問題に対処しています。
# Split an input string into an array of substrings using any set
# whitespace characters
function 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 string
if ($sizeParts > 0) {
$lastPart = $parts[$sizeParts-1];
if ($lastPart == '') {
array_pop($parts);
$sizeParts--;
}
# Check if the first element of the array is a zero-length string
if ($sizeParts > 0) {
$firstPart = $parts[0];
if ($firstPart == '')
array_shift($parts);
}
}
return $parts;
}
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";
}
}