【问题标题】:PHP generated content inside Javascript breaking scriptPHP 在 Javascript 破坏脚本中生成内容
【发布时间】:2013-01-17 14:12:18
【问题描述】:

我有一个网站,其中包含一些带有淡入淡出的 Javascript 旋转内容。该脚本工作正常,直到我在其中添加一个 PHP while 循环,然后它失败了。我正在使用 PHP 从 wordpress 帖子中提取内容。

这里是隔离代码 (http://jsfiddle.net/dzz8M/2/)。如果您删除 PHP,您会注意到脚本可以正常工作,并且您可以在此处 (http://www.smartcallclaims.com/indexx.php/) 看到 php 输出正常。

当您检查该链接的来源并从 JSfiddle 中查找 JavaScript 时,您会看到 PHP 已在脚本中生成它的内容。 (我知道它添加了一个<p> 标签,这不是问题)

有人能告诉我为什么 PHP 会破坏 javascript 吗?

【问题讨论】:

  • 请注意,Java 和 Javascript 是两个不同的东西。此外,一个 jsfiddle 和您的网站在这件事上没有帮助。请发布您用来生成其他代码的 php。”
  • 代达罗斯所说的一切,如果你设置了一个小提琴:正确设置它......
  • 我已经将 PHP 留在了 JSfiddle 页面中以供参考.... 创建 Jsfiddle 页面的目的是让社区自己查看和测试 PHP/Javascript,而不是来回复毫无意义。

标签: php javascript wordpress while-loop


【解决方案1】:

您的问题是引号中的一个未转义的换行符:

"\&nbsp;&nbsp;&nbsp;&nbsp;<p>this is a good web test</p>
<div id='quoteauthor'>Ben Harrison</div>",

这不是有效的 JavaScript。您必须以某种方式对其进行转义,例如在创建这些字符串的 PHP 函数中使用 str_replace()

str_replace("\n","&nbsp;",$string)

【讨论】:

  • 你的意思是在&lt;/p&gt;之后?我想我知道你的意思。
  • 你说得对,PHP 正在服务器端生成换行符,它不在我的代码中。您对换行符如何保留在那里而不会弄乱 Javascript 有什么建议吗? str_replace,是否能够在有问题的 PHP 上方上线?感谢您的帮助,不像上面那些显然没有正确阅读问题的海报。
  • @Sue.My.Chin 你可以使用the_excerpt()这个功能吗? str_replace() 应该进去。
  • the_excerpt() 是帖子类型中的自定义字段。您只能输入文本。但是,我可以创建一个单独的字段来代替摘录。我现在就试试这个并报告。
  • 我创建了一个单独的纯文本字段,但它没有创建换行符。一切都完美呈现。 :) 我可以吻你 Sirko。非常感谢您的帮助!
猜你喜欢
  • 2019-02-24
  • 1970-01-01
  • 1970-01-01
  • 2013-11-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-11-27
相关资源
最近更新 更多