markdown-it / linkify-it

Links recognition library with full unicode support
http://markdown-it.github.io/linkify-it/
MIT License
655 stars 63 forks source link

linkifier fails to correctly linkify some links #77

Closed ghost closed 4 years ago

ghost commented 5 years ago

This wikipedia link is linkified incorrectly:

https://ru.wikipedia.org/wiki/%D0%94%D0%BE%D0%BA%D1%82%D0%BE%D1%80_%D0%A1%D1%82%D1%80%D0%B5%D0%B9%D0%BD%D0%B4%D0%B6%D0%BB%D0%B0%D0%B2,_%D0%B8%D0%BB%D0%B8_%D0%9A%D0%B0%D0%BA_%D1%8F_%D0%BF%D0%B5%D1%80%D0%B5%D1%81%D1%82%D0%B0%D0%BB_%D0%B1%D0%BE%D1%8F%D1%82%D1%8C%D1%81%D1%8F_%D0%B8_%D0%BF%D0%BE%D0%BB%D1%8E%D0%B1%D0%B8%D0%BB_%D0%B1%D0%BE%D0%BC%D0%B1%D1%83

Live demo:

https://markdown-it.github.io/#md3=%7B%22source%22%3A%22https%3A%2F%2Fru.wikipedia.org%2Fwiki%2F%25D0%2594%25D0%25BE%25D0%25BA%25D1%2582%25D0%25BE%25D1%2580_%25D0%25A1%25D1%2582%25D1%2580%25D0%25B5%25D0%25B9%25D0%25BD%25D0%25B4%25D0%25B6%25D0%25BB%25D0%25B0%25D0%25B2%2C_%25D0%25B8%25D0%25BB%25D0%25B8_%25D0%259A%25D0%25B0%25D0%25BA_%25D1%258F_%25D0%25BF%25D0%25B5%25D1%2580%25D0%25B5%25D1%2581%25D1%2582%25D0%25B0%25D0%25BB_%25D0%25B1%25D0%25BE%25D1%258F%25D1%2582%25D1%258C%25D1%2581%25D1%258F_%25D0%25B8_%25D0%25BF%25D0%25BE%25D0%25BB%25D1%258E%25D0%25B1%25D0%25B8%25D0%25BB_%25D0%25B1%25D0%25BE%25D0%25BC%25D0%25B1%25D1%2583%5Cn%22%2C%22defaults%22%3A%7B%22html%22%3Afalse%2C%22xhtmlOut%22%3Afalse%2C%22breaks%22%3Afalse%2C%22langPrefix%22%3A%22language-%22%2C%22linkify%22%3Atrue%2C%22typographer%22%3Afalse%2C%22_highlight%22%3Afalse%2C%22_strict%22%3Afalse%2C%22_view%22%3A%22html%22%7D%7D

puzrin commented 4 years ago

https://markdown-it.github.io/linkify-it/#t1=https%3A%2F%2Fru.wikipedia.org%2Fwiki%2F%D0%94%D0%BE%D0%BA%D1%82%D0%BE%D1%80_%D0%A1%D1%82%D1%80%D0%B5%D0%B9%D0%BD%D0%B4%D0%B6%D0%BB%D0%B0%D0%B2%2C_%D0%B8%D0%BB%D0%B8_%D0%9A%D0%B0%D0%BA_%D1%8F_%D0%BF%D0%B5%D1%80%D0%B5%D1%81%D1%82%D0%B0%D0%BB_%D0%B1%D0%BE%D1%8F%D1%82%D1%8C%D1%81%D1%8F_%D0%B8_%D0%BF%D0%BE%D0%BB%D1%8E%D0%B1%D0%B8%D0%BB_%D0%B1%D0%BE%D0%BC%D0%B1%D1%83

Linkifier is ok. Seems, that's a specific markdown-it issue, known as _ (emphasis) collisions in links. Those are recommended to guard manually, with < >, because fix requires serious parser rewrite [and not planned due time constrains].

ghost commented 4 years ago

I see.