我正在尝试做一些htmlentities。但是,由于将超链接转换为html代码,现在这些超链接已损坏,出于某些愚蠢的原因,该大学希望为我们提供与服务器相同的密码,因此希望这样做。

去年,当有人进入我的服务器并充满了javascript和css hacks时,我几乎失败了,因此这可以阻止它,但是如果超链接不起作用,它用处不大,那么如何防止这种情况呢?这是我到目前为止针对该特定区域的代码:

$sub = substr($row['content'],0,300).'.......... <a href="blogpost.php?id='.$row['id'].'">See full article</a>';
echo htmlentities($sub,ENT_QUOTES,"UTF-8");


如果有人可以提供帮助,非常感谢,谢谢。

最佳答案

不要在整个链接上应用htmlentities,而是在实际上要转义的值上应用

$sub = htmlentities(substr($row['content'],0,300), ENT_QUOTES, 'UTF-8') . '.......... <a href="blogpost.php?id=' . htmlentities($row['id'], ENT_QUOTES,'UTF-8') .'">See full article</a>';
echo $sub;

关于php - htmlentities打破了超链接,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20622101/

10-12 12:29