我有这个印刷声明:
print "<a href='#' onClick='document.getElementById(\"myheader\").innerHTML=\"\"'".$rowQuery['keyword']." · </a>";
不幸的是,它会打印出来:
<a · ="" keyword ="" onclick="document.getElementById("myheader").innerHTML=""" href="#"/>
我不知道为什么,任何帮助都会有用。由于它的打印方式,我在屏幕上看不到任何内容,功能也不起作用。
注意($ rowQuery ['keyword'] =“关键字”在这种情况下正在评估,这不是问题。问题是它打印它很奇怪)
(当我使用HTML而不是php使用此行打印它时:
<a href="#" onClick="document.getElementById('myheader').innerHTML=''">ALL</a>
它完全正常)
答案 0 :(得分:4)
您错过了开始>
元素的结束<a>
,也许还有其他语法问题,我现在没有发现。浏览器尽可能地解释它,结果很奇怪。
为了最大限度地减少此类问题(并避免大量引用转义),请将静态文本保留为静态,并仅回显动态内容,如下所示:
<a href="#"><?php echo $rowQuery['keyword']; ?></a>
答案 1 :(得分:2)
通过查看源代码而不是FireBug,您将更准确地了解写入PHP输出流的内容。
您的代码似乎没有关闭<a>
标记。看起来你的不间断空格之间还有一个扩展的字符·
。您应该确保它在您的字符集中受支持,或者将其替换为HTML实体,例如•
。如果必须使用扩展字符,通常建议您确保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']">." · </a>";