2013-02-17 82 views
0

我正在使用cURL和php來解析DOM中的一些html內容。然後我把內容作爲字符串放入變量中並創建一個數組。識別和刪除換行符

這裏是我的問題,我有類似

Array (
[firstname] => John 
[lastname] => 


Doe 
[occupation] => 
programmer 

[location] => not far away 
) 

我不由在HTML <br>標籤引起了一些換行。我可以看到代碼中的(空白)換行符,但沒有標籤。

我試圖在使用代碼str_replace('\s', '', $firstname)之前將它放入我的關聯數組中,但它不起作用。我將補充preg_replace('\s','', $firstname)返回NULL

+0

你想換行做什麼?只要刪除它們? – 2013-02-17 21:14:33

+0

是的。但我用\ s試過'trim'和'preg_replace',我無法擺脫它們。 – Wistar 2013-02-17 21:25:13

回答

3

str_replace不接受正則表達式。也許只是修剪後的陣列...

$array = array_map('trim', $array); 

如果不工作,那麼他們是不正常的空間。使用...

preg_replace('~^[\s]+|[\s]+$~', '', $firstname); 

...在添加到數組之前。你忘了分隔符。

+0

感謝您的提示。但是這不起作用。結果是一樣的。 – Wistar 2013-02-17 21:18:25

+0

我非常肯定,只要你的空格是由'trim()'函數列出的字符產生的,就可以工作:http://www.php.net/manual/en/function.trim.php – CodeZombie 2013-02-17 21:24:06

+0

@ Wistar - 檢查我的編輯 – Galen 2013-02-17 21:27:44

0

嘗試:

foreach($array as &$v){ 
    $v = preg_replace('/(\n¦\r)+/s', '', $v); 
}