Django

Code

Ticket #5606 (new)

Opened 2 years ago

Last modified 2 years ago

urlize filter should recognize only the characters which URL RFC specifies.

Reported by: daybreaker12@gmail.com Assigned to: nobody
Milestone: Component: Template system
Version: SVN Keywords:
Cc: Triage Stage: Design decision needed
Has patch: 0 Needs documentation: 0
Needs tests: 0 Patch needs improvement: 0

Description

Current implementations of urlize filter which uses the code in utils/html.py recognizes URL by splitting the text into many words.

But in Korean (or Japanese) language, this implementation may cause some problems. There is a concept of '조사 (postpositional word)' which is represented as one or more characters following an word without any spaces.

For example,
"나는 http://example.com을 추천합니다." means, "I recommend http://example.com.".
The character '을' is not a part of URL, but the current urlize implementation recognizes it as a part of URL.

Of course, because there may exist URLs including unicode Korean characters, deciding which character should be excluded from URL is somewhat confusing. However, those cases are very rare because most of Korean URLs are encoded like 'http://example.com/tags/%EB%B8%94%EB%A1%9C%EA%B7%B8' ('http://example.com/tags/블로그' in utf-8 encoding).

So I suggest you to modify the code using only characters US-ASCII code for URL auto-linking as specified in RFC 1738.

Attachments

Change History

12/01/07 20:43:10 changed by Simon G <dev@simon.net.nz>

  • needs_better_patch changed.
  • stage changed from Unreviewed to Design decision needed.
  • needs_tests changed.
  • needs_docs changed.

Add/Change #5606 (urlize filter should recognize only the characters which URL RFC specifies.)




Change Properties
Action