繁体   English   中英

替换/显示从MYSQL到PHP的新行

[英]Replace/display new line from MYSQL to PHP

我在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返回 13的ASCII代码(或者如果你的意思是换行符,你可以用代码10的换行替换它)并且\\\\n是要逃避\\ n。

如果您设法替换它们,则可以:

echo nl2br($yourString)

您可以查找每个字符并使用ord PHP函数检查它的值。

检查ascii表的值,看看行分隔符的值。

您可以使用str_split或在循环中访问类似数组的字符串并单独检查每个字符。

ord文档: http//php.net/manual/en/function.ord.php chr(包含ascii表的链接)文档: http//php.net/manual/en/function.chr.php Strings(字符串访问和字符部分修改)文档: http ://php.net/manual/en/language.types.string.php和str_split函数: http//php.net/manual/en/function.str-split .PHP

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM