定義されていない数のスペースで区切られた情報の文字列を送信する API を使用しています。分解してみると、スペースだけで構成された要素がいくつかできてしまいます。foreach
、preg_replace
、preg_match
、これらのスペースを取り除くために見つけることができるほとんどすべてを使用してみましたが、まだいくつか残っています。奇妙なことに、これらのスペースを別の記号に置き換えてから文字列を分解して削除しても、この記号のみで構成された要素、スペースのみの要素が残ります。また、それらを削除するどの方法でも一部は削除されますが、通常、有用な情報を含む各配列位置の間に 2 つまたは 3 つ残っています。
例: 次のような文字列を受け取りました (要素を区切るために // を使用しています):
// // // // // // // // // //10000 // // // // // // // //1 // // // // // // // //1 // // // //101 // // // // // / / // //272 // // // // // // // //ubuntu-10.04-x86 // // // //基本 // // // // // // // //true // // // //running // // // //0 // // // // // // // // // // //1000 // // // // // // // // // // // //0 // // // // // // // //1 // // // // // // // //2 // // // //102 // // // // // // // //272 // // // // // // // // ubuntu-10.04 -x86 // // // 基本 // // // // // // // true // // // //実行中 // // // //0 // // // // // // // // // // // //10000 // // // // // // // //1 // // // // // // // //3 // // // //103 // // // // // / / // //0 // // // // // // // // ubuntu-10.04-x86 // // // //vswap-256m // // // // // // // false // // // //停止 // // // // // // //
私がする時
$result = preg_replace('/\s[\s]+/', '-', $result);
$result = preg_split('~-~', $result, -1, PREG_SPLIT_NO_EMPTY);
foreach($result as $item){
echo "$item //";
}
たとえば、私はこれで終わります:
// // //1000 // // //0 // //1 // //1 //101 // //272 // //ubuntu //10.04 //x86 //基本 // // true //実行中 //0 // // // //1000 // // //0 // //1 // //2 //102 // //272 // //ubuntu //10.04 / /x86 //基本 // //true //実行中 //0 // // // //1000 // // //0 // //1 // //3 //103 // //0 // //ubuntu //10.04 //x86 //vswap //256m // //false //停止 // // //
配列からこれらの空の要素を取り除く方法を知っている人はいますか?