在html实体中使用href

时间:2014-10-28 02:17:21

标签: php html hyperlink

我使用html entities来保护我的网站 我的客户想要使用CMS在他的帖子中添加链接 如何在html实体中制作异常?

我的代码示例:

<p><?php echo h($row['message']) ?></p>
//h is my function for htmlentities

我的代码显示此消息:

"You can click this link <a href="###">Link</a>"
//And I dont know my data insert '\'
//It become <a href=\"###\">Link</a>

如果我的问题不明确,请询问 真的很感激。

2 个答案:

答案 0 :(得分:0)

我相信你想做的是用htmlentities()传入数据库,这样就不会弄乱你的数据库。要检索它们,您将使用html_entity_decode()。 html_entity_decode()将所有带有HTML实体的字符串转换回原始字符串。

http://php.net/manual/en/function.html-entity-decode.php

希望这能回答你的问题。

编辑: 检索到的原始数据:http://www.example.com

通过htmlentities,它会吐出HTML实体,浏览器在尝试查找该页面时无法解释这些实体。使用htmlentities()(如果我错了,请纠正我)是在将用户输入传递给其他地方之前对其进行编码。

用户输入:<script>hacks</script>

通过了htmlentities:

&ltscript&gthacks&lt (whatever backslash is)script&gt

(这样它就不会弄乱你的数据库中的任何东西,更好的例子是PHP / MySQL的使用,但我现在不太精通这个确切的例子。)

然而,这会在解码时暴露您的网站,并且必须采取其他预防措施。

答案 1 :(得分:0)

试试这个:

<?php 
   $link = h(stripslashes($row['message'])); 
?>


You can click this link <a href='<?php echo $link; ?>'>Link</a>