修剪不会删除\ n

时间:2010-02-17 22:55:58

标签: php

我从textarea获取一个字符串并将其爆炸并使用array_map()修剪数组的每一行:

$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),因为结束标记会移动到下一行。

我做错了什么?

1 个答案:

答案 0 :(得分:6)

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

您将array_map的返回值分配给$asnwers。它应该是$answers