从 php 添加换行符到 javascript

adding line break into javascript from php

请耐心等待,因为这不容易解释。我在 MySQL 数据库中有一个字段,该字段是从带有文本区域输入的表单中放置的。在我看来,换行符编码为“/n”

当我检索数据时,我可以使用以下 php 行

将其正确显示在屏幕上
$main_article1 = str_replace("\n", "<br />", $row[main_article]);
echo $mainarticle1;

然而,棘手的事情来了。然后我想将该文本插入到使用 Javascript.

的滚动条中

该脚本中的代码是:

var pausecontent=new Array()

pausecontent[0]='<?php echo $main_article1;?>'

我只是得到一个空白屏幕。

如果我从数据库中的文本中删除换行符,一切正常 - main_article 文本按应有的方式出现在滚动条中 - 它只会在出现换行符时停止工作。

有谁知道如何让数据库字段中的换行符通过 PHP 脚本并出现在 Javascript 的滚动条文本中?

我也试过:

$main_article1 = str_replace("/n>", "%0D%0A", $row[main_article]);

但这也行不通

我希望我已经理解了我正在尝试做的事情。

非常感谢。

托格

这是更新

$main_article = 'This is a test<br />This is a test'

JS中php生成的代码应该是:

pausecontent[0]='This is a test<br />This is a test'

(全部变灰)但我得到的是:

pausecontent[0]='This is a test
This is a test'

并且 JS 代码中的换行符导致它失败,因为换行符后文本不再变灰

你可以试试nl2br()函数

$main_article1 = nl2br($row[main_article]);

我还建议在您的代码和结束 php 标记 (?>)

之间留下一个 space
pausecontent[0]='<?php echo $main_article1; ?>'

终于搞定了,折腾了太多天头疼!

我看错了替换理论

答案是使用下面一行:

$main_article1 = preg_replace("/\r\n|\r|\n/",'<br/>',$row[main_article]);

现在完美运行了。

感谢大家的帮助。

此致

托格