2010-02-17 53 views
0

我從文本區域以一個字符串和爆炸它和修剪所述陣列的與array_map)每行的(:修剪不會刪除 n

$answers = explode("\n", $data['answers']); 
// remove all whitespace such as \r (carriage return) 
$asnwers = array_map('trim', $answers); 

然後我存儲在一個單獨的行中的每個數組值一個表在數據庫中回答。問題是數據庫中每個答案的末尾都有\ n字符。當我贊同的答案在HTML這樣的:

<?php foreach ($this->answers as $a): ?> 
       <tr> 
        <td><?php echo $this->escape($a->body); ?></td> 
       </tr> 
<?php endforreach; ?> 

當我再看看HTML源我看到這一點:

   <tr> 
        <td>Some random answer 
</td> 
       </tr> 

正如你可以看到,有一個換行符在(可能\ n)的字符串的結尾,因爲結束標記被移動到下一行。

我做錯了什麼?

+0

你需要關心HTML源代碼的樣子嗎? – Dolph 2010-02-17 22:57:55

+0

@Dolph Mathews:你會不會對數據庫中不必要的換行符感到不安? – 2010-02-17 22:59:40

回答

6
$asnwers = array_map('trim', $answers); 

您正在將array_map的返回值分配給$asnwers。它應該是$answers

+0

+1這也正是我的想法(雖然它也可能只是一個簡單的錯字) – ChristopheD 2010-02-17 23:02:39

+0

該死的,我怎麼看不到這些。 – 2010-02-17 23:04:17