【发布时间】:2017-05-06 01:46:15
【问题描述】:
在我的 php 生成的 html 页面中显示 mysql 的换行符时遇到了一个大问题。
我试过nl2br(),手动str_replace()等等...
在我的 sql 数据库中,记录是这样的:
first line
second line
third line
但是:该记录中没有 \n 或 <br>。
如果我通过 ajax 调用并在其上使用 javascript:data.mystring.replace(/\n/g, "<br />") 获取该数据,则一切正常!
但现在我必须直接通过 php 回显该数据。而且我没有看到任何换行符。不管我怎么尝试。有什么想法吗?
这是脚本(通过 ajax 调用插入):
$adress = mysqli_real_escape_string($con, $_POST["adress"]);
mysqli_query($con, "INSERT INTO Contact SET Adress = '$adress');
在我的php页面上读取数据库的数据:
mysqli_query($con, "SET NAMES 'utf8'");
$query = mysqli_query($con, "SELECT * FROM Contact");
$dsatz = mysqli_fetch_assoc($query);
$newString = $dsatz["Adress"];
echo nl2br($newString);
【问题讨论】:
-
好吧,如果该正则表达式有效,那么数据库数据中有一个
\n,或者如果你是unixer,它可能是一个\r\n -
nl2br()可以正常工作,所以问题出在您的数据/脚本中。显示您的脚本/标记。 -
你有 Notepad++ 或能显示换行符的编辑器吗?
-
不,在 Mac 上工作
-
“地址”用于演讲。 “地址”用于位置。此外,@RiggsFolly 可能是正确的。您可能需要
str_replace("\r\n",'<br />', $address)
标签: javascript php mysql replace newline