我正在使用API發送一串信息,並由未定義數量的空格分隔。當我嘗試將它爆炸時,我最終會得到一些僅由空間組成的元素。我試過用foreach
,preg_replace
,preg_match
,幾乎所有我能找到的擺脫這些空間的東西,但還是有一些遺留的,奇怪的是,即使我用另一個符號替換這些空格,然後爆炸字符串並移除僅由此符號組成的元素,則僅保留空間元素。此外,任何刪除它們的方法都會刪除一些,但通常在包含有用信息的每個陣列位置之間存在2或3個。從爆炸字符串中刪除垃圾信息
示例:我收到一個字符串,它看起來像這樣(我使用//分離元件):
// // // // // // // //// // 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 // //// // //停止 // // // // // // //
當我做
$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 // basic // // 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 // stopped // // //
任何人都知道我如何擺脫那些空的元素從陣列?
可以修改API?這是一團糟! – ManseUK
我不行。我認爲它也很雜亂,但這就是生活,我猜... – Tuma