2010-12-14 1 views
5

Есть ли способ обхода ошибки w3c для & в URL-адресах или в другом месте в разметке HTML?
Он говорит:w3c markup validator ampersand (&) error

& не начать характеристику. (&, вероятно, должны были экранированы, как &.)

Амперсанд в моем случае является частью URL для Gravatar миниатюры. Это проблематичная часть URL:

c91588793296e2?s=50&d=http%3A%2F%.

ответ

9

для каждого & знака вы получили написать & в вашем примере это будет:

c91588793296e2?s=50&d=http%3A%2F% 
+3

Обратите внимание, что для кодирования амперсандов не требуется _always_, хотя, вероятно, проще всего это сделать. См. Http://mathiasbynens.be/notes/ambiguous-ampersands. –

+0

Вы можете использовать обнаружение регулярного выражения для автоматического добавления & s, где отсутствует: 'htmlOut = htmlOut.replaceAll (" & (?! [A-zA-Z] +;) "," & ");' – kernel

+0

У меня есть логин -with-facebook, который добавляет много беспорядочных кодированных амперсандов и создает ошибки проверки. Должен ли я действительно писать код, чтобы исправить ошибку кого-то еще? : / – andreaconsole

4

должно быть:

c91588793296e2?s=50&d=http%3A%2F%.

Обратите внимание на &

Я знаю, что он чувствует себя шатким, но амперсанды должны быть закодированы как HTML сущности, которые обозначены смешениями амперсандов.