【发布时间】:2023-03-29 04:36:01
【问题描述】:
请耐心等待,因为这并不容易解释。我在 MySQL 数据库中有一个字段,该字段是从带有 textarea 输入的表单中放在那里的。在我看来,换行符被编码为“/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函数?整个页面是空白还是只是 JS 没有执行,如果只是 JS 控制台中的任何内容? -
第一步:检查生成的 JS 代码——看起来应该是这样吗?
-
我使用 nl2br 函数得到了相同的结果。页面加载正常,但 JS 没有运行。如果我输入没有换行符的文本,则 JS 运行良好
-
OK JS 代码错误。它有换行符,而应该只有
标签。如果我用
标签手动替换换行符它可以工作 - 但用 php 做它不起作用
标签: javascript php str-replace line-breaks