删除字符串中的\ n

时间:2016-12-19 08:28:10

标签: php mysql

我有一个存储字符串的MySQL,其值为Group Sales Manager\nInsurance Service since 1983 现在,我想通过使用explode()拆分它们来将这部分字符串更改为点形式,因此[0]将成为集团销售经理,[1]将成为自1983年以来的保险服务。
到目前为止,我已经尝试过;

<?php 
$description = $row['description']; //the value here is the Group Sales Manager... 1983.
$points = explode("\n", $description);
?> <ul> <?php
for ($x = 0; $x < count($points); $x++) {
    echo "<li>$points[$x]</li>";    
}
 ?> </ul>

问题是,如果我通过输入在$description中手动输入相同的字符串,代码就可以工作,但是当从MySQL中提取值时它不起作用,我想知道为什么?

4 个答案:

答案 0 :(得分:0)

试试这个..

<?php 
$description = html_entity_decode($row['description']); //the value here is the Group Sales Manager... 1983.
$points = explode(PHP_EOL, $description);
?> <ul> <?php
for ($x = 0; $x < count($points); $x++) {
    echo "<li>$points[$x]</li>";    
}
 ?> </ul>

答案 1 :(得分:0)

通过从数据库中提取数据,可能会对数据进行清理。这意味着在这种情况下\n变为\\n

如果是这种情况,这就是解决方案:

<?php 
$description = $row['description']; //the value here is the Group Sales Manager... 1983.
$points = explode("\\n", $description);
?> <ul> <?php
for ($x = 0; $x < count($points); $x++) {
    echo "<li>$points[$x]</li>";    
}
 ?> </ul>

答案 2 :(得分:0)

尝试将'\n'替换为'\r'

我从不用MySQL测试它。

答案 3 :(得分:0)

使用此:

<?php 
$description = $row['description'];
$points = explode("<br />", nl2br($description));
?> <ul> <?php
for ($x = 0; $x < count($points); $x++) {
    echo "<li>$points[$x]</li>";    
}
 ?> </ul>

nl2br函数将任何新的行字符转换为<br />