数组不能在PHP中正确打印

时间:2014-03-06 05:36:50

标签: php arrays

我正在用PHP做一个项目! 问题是数组打印不正确。 实际上我试图使用PHP从mysql检索文本数据。 我能够检索数据,但在文档中打印时,它不是我想要的打印!!

    echo "<td><p onclick=alert('".$arr[$t]."'); ><u>VIEW</u></p></td>";

$ arr [$ t]是我从数据库中检索的文本数据。 它应该像这样打印(假设$ arr [$ t]有数据“这是段落”)
但实际输出是这样的..
在CHROME中输出

    <td><p  onclick="alert('this" is a paragraph'); ><u>VIEW</u></p></td>


FIREFOX中的输出

    <td><p paragraph');=""  a="" is=""  onclick="alert('this" ><u>VIEW</u></p></td>


我不知道为什么会这样。
请帮我解决这个问题。
提前谢谢:)

1 个答案:

答案 0 :(得分:1)

从Chrome输出中突出显示的语法将其删除 - 您的双引号内嵌有双引号,这是无效的HTML。

你应该在渲染之前使用htmlspecialchars(http://au2.php.net/manual/en/function.htmlspecialchars.php)之类的东西来转义所有输出。

此外,您应该将onclick处理程序包装在引号中 - 例如。 onlick="alert('stuff stuff more stuff')"或它无法正确解析。