在我的 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
显示在您的数据库中,您可以这样做
UPDATE tab SET yourcommentcolumn= REPLACE(yourcommentcolumn, CHAR(13), '\\n');
CHAR()
为 carrige return 13 取一个 ASCII 码(或者你可以用代码 10 替换 newline 如果你的意思newline) 而 \\n
是为了转义\n。
如果您设法替换它们,则您可以:
echo nl2br($yourString)
关于javascript - 替换/显示从 MYSQL 到 PHP 的新行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41249170/