Open dukebrown opened 6 years ago
I can confirm this; we check to see if an entity is at the end of an autolinked URL and remove it accordingly, but if one appears 'within' a candidate we don't detect or notice it. I'm not sure this edge case is enough for us to redo how the delimiter detection works, i.e. to scan within a URL for an entity. We don't and likely will not ever do full entity detection; you might consider using an actual markup language (like Markdown) if you need to be this precise — or insert the non-breaking space directly into the source material, as rinku will work around that. (Worth also keeping in mind that &…;
may appear within a real URL.)
If an input string contains a non-breaking space (
) immediately after a URL, the non-breaking space and the next word are included in the link.For example, this string works:
http://example.com test
. (It becomes<a href="http://example.com/">http://example.com/</a> test
.)However, this string does not work:
http://example.com/ test
. (It becomes<a href="http://example.com/ test\">http://example.com/ test</a>
.)This also affects strings containing a closing bracket (parenthesis, square bracket, or curly bracket) between the URL and the non-breaking space. For example:
website (http://example.com/) of the user
becomeswebsite (<a href="http://example.com/) of\">http://example.com/) of</a> the user
.