2014-06-29 38 views
0

我有這種形式,用戶可以輸入URL,我想將它們全部放入數組中,但是如果它的空值不在數組中。從表單中收集URL並將它們放入數組中,但忽略空

我在stackoverflow上找到了另一個答案,並嘗試這個,但它似乎並沒有工作。

任何想法我做錯了什麼?

如果我輸入下面進入我的形式

http://URL1.com 
http://URL2.com 

http://URL3.com 

http://URL4.com 

http://URL5.com 

這是PHP代碼:

$seperateURLs = preg_split('/\n/', $_POST['uploadedURLS']); 


foreach($seperateURLs as $key => $URL) { 
    if($URL == "") 
     { 
      unset($seperateURLs[$key]); 
     } 
} 
$allURLs = array_values($seperateURLs); 

print_r($allURLs); 

這是返回什麼:

Array 
(
    [0] => http://URL1.com 
    [1] => http://URL2.com 
    [2] => 
    [3] => http://URL3.com 
    [4] => 
    [5] => http://URL4.com 
    [6] => 
    [7] => http://URL5.com 
) 
+0

抑制空值或者你可以使用'array_filter(array_values($ seperateURLs))' –

+0

'trim($ URL)和array_filter(array_values($ seperateURLs)),但是在使用'trim($ URL)我仍然有差距。 – Exoon

+0

你是如何添加'trim($ URL)'?它應該是'if(trim($ URL)==「」)' – Barmar

回答

0

我的網址添加到新陣列,並確保他們在過程中進行適當修剪:

$seperateURLs = preg_split('/\n/', $_POST['uploadedURLS']); 
$allURLs = array(); 

foreach($seperateURLs as $key => $URL) { 
    $u = trim($URL); 
    if($u) !== "") { 
    $allURLs[] = $u; 
    } 
} 

print_r($allURLs); 
0

您可以preg_split與參數PREG_SPLIT_NO_EMPTY

$seperateURLs = preg_split('/[\r\n]+/', $_POST['uploadedURLS'], -1, PREG_SPLIT_NO_EMPTY); 

print_r($seperateURLs); 
相關問題