Предотвратить преобразование HTMLPurifier &lang в

Я пытаюсь очистить параметр ссылки, и он содержит что-то вроде:

http://test.com/?id=1&lang=en

но когда я передаю эту ссылку HTMLPurifier, она возвращает ее так:

http://test.com/?id=1〈=en

Итак, вопрос: есть ли способ запретить HTMLPurifier представлять объект, подобный &lang?


person Andrew Kevich    schedule 04.03.2013    source источник
comment
Хм, возможно, стоит использовать специальные оболочки внутри ссылок; кажется, что большинство браузеров в этих случаях игнорируют объекты, не заканчивающиеся точкой с запятой.   -  person Edward Z. Yang    schedule 04.03.2013


Ответы (2)


правильный формат будет заменять амперсанд правильным объектом:

http://test.com/?id=1&lang=en
person ybo    schedule 04.03.2013
comment
Спасибо! Хотя это выглядит некрасиво, мне нужно вручную вызвать что-то вроде str_replace для ввода URL-адреса. Не только для того, чтобы HTMLPurifier правильно обработал =( - person Andrew Kevich; 04.03.2013

просто замените & на & ;

$url=http://test.com/?id=1&lang=en;
$url=str_replace('&', '&', $url);
person Tapas Pal    schedule 04.03.2013