php - 无法通过数据库中的新行拆分字符串

时间:2017-06-06 12:03:10

标签: php sql sql-server split

我使用PHP从MSSQL数据库接收数据(使用PDO sqlsrv驱动程序)。

我需要用新行分割字符串。

在DB中,字符串如下所示:

the string in the database

我尝试了以下但没有成功:

SELECT b.id, b.name, b.notes, c.username
FROM business b JOIN
     contacts c
     ON b.id = c.business_id
WHERE c.username IN ('username1', 'username2', 'username3');

或者

$text = explode("\n\n",$text);
$text = preg_split("/\n\n/",$text);

当我调试代码时,当我将文本打印到浏览器时,字符串显示为一行。

text echoed to the broswer

但是如果我检查chrome中的元素,它就会像在数据库中一样显示:

text inspected with chrome

我将检查器中的文本复制到正则表达式测试器,并成功找到换行符!但是"回应了#34;文字在一行。

1 个答案:

答案 0 :(得分:1)

尝试用逗号(,)或其他特殊字符替换新行字符。

preg_replace("/((\r?\n)|(\r\n?))/", ',', $input);

然后尝试像explode(',', $input);

一样爆炸

或 如果结果集是文件,请通过这篇文章

explode(PHP_EOL, $input);

https://stackoverflow.com/a/29471912/4895810