用php打印javascript和html的问题

时间:2010-06-20 07:07:51

标签: php javascript html

我有这个印刷声明:

print "<a href='#' onClick='document.getElementById(\"myheader\").innerHTML=\"\"'".$rowQuery['keyword']."&nbsp; ·&nbsp;</a>";

不幸的是,它会打印出来:

<a ·&nbsp;="" keyword&nbsp;="" onclick="document.getElementById("myheader").innerHTML=""" href="#"/>

我不知道为什么,任何帮助都会有用。由于它的打印方式,我在屏幕上看不到任何内容,功能也不起作用。

注意($ rowQuery ['keyword'] =“关键字”在这种情况下正在评估,这不是问题。问题是它打印它很奇怪)

(当我使用HTML而不是php使用此行打印它时:

<a href="#" onClick="document.getElementById('myheader').innerHTML=''">ALL</a>

它完全正常)

3 个答案:

答案 0 :(得分:4)

您错过了开始>元素的结束<a>,也许还有其他语法问题,我现在没有发现。浏览器尽可能地解释它,结果很奇怪。

为了最大限度地减少此类问题(并避免大量引用转义),请将静态文本保留为静态,并仅回显动态内容,如下所示:

<a href="#"><?php echo $rowQuery['keyword']; ?></a>

答案 1 :(得分:2)

通过查看源代码而不是FireBug,您将更准确地了解写入PHP输出流的内容。

您的代码似乎没有关闭<a>标记。看起来你的不间断空格之间还有一个扩展的字符·。您应该确保它在您的字符集中受支持,或者将其替换为HTML实体,例如&#8226;。如果必须使用扩展字符,通常建议您确保PHP脚本,HTML元标记和PHP服务器编码配置设置都指向相同的字符集,或者一个杂散扩展字符在渲染时可能会导致页面被删除浏览器。如果您坚持使用UTF-8,那么您可能会遇到最少的问题(尽管并非总是如此)。

答案 2 :(得分:0)

我认为您错过了<a...代码

的结束

你有:<a href=... some description</a>

而不是<a href=... >some description</a>

尝试这样的事情(不确定我的位置是否为'&gt; '正确:

print "<a href='#' onClick='document.getElementById(\"myheader\").innerHTML=\"\"'".$rowQuery['keyword']">."&nbsp; ·&nbsp;</a>";