htmlentities打破了超链接

时间:2013-12-16 22:19:49

标签: php mysql html-entities

我正在努力做一些事情。但是,由于超链接转换为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");

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

2 个答案:

答案 0 :(得分:3)

我认为你在过多的输出上应用了htmlentities()。就这样做:

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

答案 1 :(得分:1)

不要在整个链接上应用htmlentities,而是在您实际想要转义的值上应用{/ 1>}

$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;