【问题标题】:Prevent html entity conversion php防止html实体转换php
【发布时间】:2013-11-16 05:56:05
【问题描述】:

我有一个带有 url 输入的表单,我需要阻止它转换,以便我可以在目标页面上使用 $_GET。我已经尝试过 urlencode、urldecode、html_entity_decode 等,但它们都没有阻止 html 实体转换(parse_url 什么也没做,只是去掉了所有重要的东西)。 This 是我发现的唯一一个接近我想要实现的线程。

似乎应该有一个简单的解决方案,而且在我使用这样的网址的其他任何地方都不会发生这种情况......

感谢任何可以提供帮助的人!

echo "<option value='seeArtist.php?aid=".$row[0]."&ac=".$row[1]."&img=".$row[2]."'">
(blah, blah)
<input type="submit" style="margin-left:10px" name="submit" value="Go" />';

这是点击提交按钮的结果。

seeArtist.php?art_con=seeArtist.php%3Faid%3D18%26not%3Bac%3D+(aka)+Banksy%26not%3Bimg%3D0&submit=Go

两个变量都是整数,所以数据库内容不是url编码的。

我怀疑由于这在其他任何地方都没有发生,而且这是我在选择选项中放置链接的唯一地方,因此它与提交操作有关。在萤火虫中,链接完全按照它应该的方式显示。当我提交时,网址会被编码。

【问题讨论】:

    标签: php html url


    【解决方案1】:

    不管 PHP 是什么,您的 HTML 都不正确。您需要对 & 符号进行编码。您的代码应如下所示:

    echo "<option value=\"seeArtist.php?aid=" . $row[0] . "&amp;ac=" . $row[1] . "&amp;img=" . $row[2] . "\">\r\n";
    

    我还冒昧地将单引号转换为转义的双引号。

    【讨论】:

    • 这是您的代码的结果。到达页面后会发生这种情况吗?我的代码也发生了同样的事情。 seeArtist.php?art_con=seeArtist.php%3Faid%3D18%26ac%3D+Banksy%26img%3D0&submit=Go
    • @artsyL 请将其重新发布到您的问题中(通过向我们展示渲染 HTML,而不是浏览器显示的内容)。此外,您的数据库内容似乎已经经过 URL 编码。我们需要更多信息。数据库中数据的屏幕截图也会有所帮助。
    • 谢谢。我添加了更多信息。
    猜你喜欢
    • 2011-12-08
    • 2014-09-05
    • 2011-11-12
    • 2020-12-04
    • 2010-10-21
    • 1970-01-01
    • 2012-12-22
    • 1970-01-01
    • 2011-10-11
    相关资源
    最近更新 更多