2013-03-18 3 views
1

В электронной почты ссылки активации Я возвращаюПравильное обращение амперсанд в электронной почте активации ссылки

<a href="http://www.foo.com/register.php?action=activation&key=123">Activation</a> 

В некоторых клиентов (например, SquirrelMail) & изменяется на &amp;, нарушающего ссылку.

<a href="http://www.foo.com/register.php?action=activation&amp;key=123">Activation</a> 

Как я могу убедиться, что ссылка отображается правильно во всех почтовых клиентах?

+1

'http: //www.foo.com/register.php? Action = activation & key = 123' является недопустимым HTML. Когда браузеры выполняют восстановление ошибок на нем, они превращают его в «http://www.foo.com/register.php?action=activation & ключ = 123'. Наличие программного обеспечения на стороне сервера реализует это исправление до того, как оно достигло браузера, не должно вызывать никаких проблем. – Quentin

+0

Ну, правильно, коррекция браузера. Я попробовал & в адресной строке, где он не работает. – Martin

+1

В адресной строке указан URL-адрес, выраженный в виде простого текста. URL-адреса в HTML должны быть выражены в HTML. '&' как вы говорите '&' в HTML, поэтому, когда он преобразуется из HTML в URL-адрес, он будет '&'. – Quentin

ответ

0

Вы пробовали URL-экранирование амперсанда?

<a href="http://www.foo.com/register.php?action=activation%26key=123">Activation</a> 

FWIW, то

<a href="http://www.foo.com/register.php?action=activation&key=123">Activation</a> 

это прекрасно немного HTML данных, и я считаю, что ваш вопрос на самом деле демонстрации ошибка в SquirrelMail.