2009-11-11 53 views
0

在我的网站www.gibberize.com如果您在顶部textarea中键入单词“和”,字符“&”将出现在第二个textarea中。&符号未通过网址

问题是,“tweet it”链接会将第二个textarea的文本附加到一个url并继续到链接,但是因为它是&符号,它会破坏文本。

任何解决方案?

+0

你在做什么语言的后端编码? – 2009-11-11 18:39:45

回答

1

使用PHP的urlencode()函数。

+0

哦,那当然假设你正在使用PHP。对于那个很抱歉。 – Franz 2009-11-11 18:35:43

+0

无论如何,这是行不通的,因为转换全是客户端。 – 2009-11-11 18:42:56

+0

没关系。关键是推文是通过URL发送的。 – Franz 2009-11-11 18:44:44

3

是的,在添加推文之前,请跳过“&”符号,将任何&更改为%26。你可能想

encodeURIComponent方法()

的全部文本。

注意:我建议的原始函数是escape()。

+0

这可以在Javascript中完成 – 2009-11-11 18:44:29

+1

'escape'不适合URL编码; EncodeURIComponent是正确的。 “逃避”不应该用于任何事情。 – bobince 2009-11-11 18:57:08

10

使用encodeURIComponent函数。您可以自己将其更改为%26,但使用所提供的功能会更安全,因为这样可以处理可能会在传输过程中混乱的任何其他奇怪字符。

+0

看起来他现在试过了。 – Franz 2009-11-11 18:54:27

+0

也最好直接设置'element.href =';不要使用'setAttribute',它在IE中的可读性差并且以各种方式被窃听。 – bobince 2009-11-11 18:59:40