[英]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.