0

コードをさらに絞り込むことができました。

http://pastebin.com/J40Atm9m

uri_escape大変申し訳ありませんが、サブルーチンで使用することでひびが入ったと本当に思っていましたGetQueryStringが、今は本当にアイデアがありません。

どんな洞察も大歓迎です。

マーティン

4

2 に答える 2

4

それはたくさんのコードです。削減されたテストケースが役立ちます。

すべてを読むのではなく、これがあなたがしていることだと思います。

  1. 生データを取得します
  2. 生データをURIに入れます
  3. HTMLのURIをエンコードします
  4. エンコードされたURIをHTMLに配置します

もしそうなら、あなたが逃したのはこれです:

URIのデータをエンコードする必要があります。

于 2011-03-01T09:52:17.683 に答える
2

「#」はHTMLにとって安全ではないため、 HTML :: Escapeは「#」をエスケープすることは想定されていません。問題は、データをURIに入れる前にデータをURIエスケープしていないことです。そのためにURI::Escapeを使用します。

于 2011-03-01T12:44:15.717 に答える