文字列を空白で分割すると、その空白が削除されません。私の文字列は次のようになります。PHPの分割と空白
$string = 'one - two - three';
私のPHPの呼び出しは次のようになります。
list($blk1, $blk2, $blk3) = split('\s*\-\s*', $string);
私は正規表現がゼロ以上のスペースに分割されますが、スペースが結果の配列に残ると仮定します。
任意のアイデアなぜですか?
文字列を空白で分割すると、その空白が削除されません。私の文字列は次のようになります。PHPの分割と空白
$string = 'one - two - three';
私のPHPの呼び出しは次のようになります。
list($blk1, $blk2, $blk3) = split('\s*\-\s*', $string);
私は正規表現がゼロ以上のスペースに分割されますが、スペースが結果の配列に残ると仮定します。
任意のアイデアなぜですか?
あなたのような何かを試みることができる:PHPに精通し
[\s-]+
ない100%が、それは動作するはずです。
直接の質問について教えてもらえませんが、マニュアルページhttp://php.net/splitにあるように、この関数は推奨されていません。
なぜあなたはちょうどこのように爆発する使用しないでください。
$string = 'one - two - three';
$parts = explode(' - ', $string);
$blk1 = $parts[0];
$blk2 = $parts[1];
$blk3 = $parts[2];
split
はずっと前にPHPで廃止されました。 ()爆発を使用していないのはなぜ`preg_split'
$string = 'one - two - three';
list($blk1, $blk2, $blk3) = preg_split('/\s*\-\s*/', $string);
私はそれを見逃してしまった。preg_splitは素晴らしい作品だ。ありがとう! – user1216398
の使用を検討してください?そこ
function trim_value(&$value)
{
$value = trim($value);
}
$array = explode("-", $string);
array_walk($array, 'trim_value');
だけで区切られた文字列を使用して、このような簡単な作業のための正規表現に対するカウンターとして:
$string = 'one - two - three';
$parts = explode(' - ', $string);
array_walk($parts, 'trim');
var_dump($parts);
分割を使用していない:( - >使用preg_split – snaderss