Perl Escape :: Функция HTML не экранирует #? - PullRequest
0 голосов
/ 01 марта 2011

Удалось сузить код намного больше:

http://pastebin.com/J40Atm9m

Извините за боль, но я действительно думал, что мне это удалось, используя uri_escape в подпрограмме GetQueryString, но теперь у меня действительно нет идей, иначе я бы не стал спрашивать.

Любые идеи очень ценятся.

Martin

Ответы [ 2 ]

4 голосов
/ 01 марта 2011

Это лот кода. Было бы полезно сократить тестовый набор.

Вместо того, чтобы читать все это, я собираюсь предположить, что это то, что вы делаете:

  1. Вы получаете необработанные данные
  2. Вы помещаете необработанные данные в URI
  3. Вы кодируете URI для HTML
  4. Вы помещаете закодированный URI в HTML

Если так, то что вы пропустили, это:

Вам необходимо кодировать данные для URI .

2 голосов
/ 01 марта 2011

HTML :: Escape не предполагается для экранирования "#", потому что "#" небезопасно для HTML. Проблема в том, что вы не экранируете URI своих данных, прежде чем выположить его в URI;используйте для этого URI :: Escape .

...