2009-12-08 142 views
1

双引号我有以下变量被动态由用户设定生成的内容:逃逸在PHP

$variable = '<a href="http://www.mysite.com/article">This Article</a>'; 

当该变量被设置,然后我回声它是这样

echo $variable; 

我知道这是不正确的,因为我需要逃避双引号等。

有没有一种方法可以自动化过程,使变量可打印为可点击链接,从而逃避在我的变量自动引号?


编辑: 原来这确实是完全有效的,但是这正在对一个Joomla网站上使用,HTML标签被剥离出来,我必须使用的[A HREF]而不是常规的< >。 感谢大家的帮助!

+3

确切地说,你认为回显该字符串无效吗? – 2009-12-08 20:43:10

+0

它只打印出这篇文章,而不是呈现我的链接,所以我认为在我的网址中双引号的存在是什么打破它? – skarama 2009-12-08 20:44:16

+0

该声明没有问题 – Galen 2009-12-08 20:45:38

回答

2

我试图使用您的确切代码在我有一个PHP页面,它的行为,因为你需要它。似乎对我来说工作得很好。

2

我没有看到你的代码有问题的,是......你用单引号包含整个字符串,因此它应该当在浏览器中查看一个可点击的链接输出

0

你的代码看起来很好,应该是功能性的。

+0

如果字符串以单引号开头,则双引号不需要转义。反之亦然。 – Tomalak 2009-12-08 20:49:32

+1

,因为它没有用双引号包围,所以不会出现双引号 – Galen 2009-12-08 20:50:14

+0

这实际上会显示反斜杠。您需要在单引号内跳转的唯一字符是单引号。 – danieltalsky 2009-12-08 20:55:34

6

要在浏览器中显示字符串“原样”,您必须将其传递到htmlspecialchars()

echo htmlspecialchars($variable); 

如果您不这样做,浏览器会按照预期解释HTML并显示链接文本。

+0

这就是我一直在寻找的 – Will 2013-02-20 20:08:55