Instead of:
$UrlPattern = "((?:(?:$UrlProtocols):[^\\]\\s\"<>$FS]+)$QDelim)";I would consider using:
$UrlPattern = "((?:(?:$UrlProtocols):[^\\]\\s\"<>$FS]+))$QDelim";The first pattern produces something that is understood by most (if not all) browsers, however, it is not valid HTML. (also, the comments in the code suggest that the double double-quotes are removed from the output). -- LaurensPit
Somewhat later ;-) To be clear: here is where it fails:
[http://www.google.com"" Google (respect naar hen!)]
if you do the other UrlPattern? as suggested above it fixes that problem and the following lines are also not necessary anymore in SplitUrlPunct?:
if ($url =~ s/\"\"$//) { return ($url, ""); # Delete double-quote delimiters here }
Same applies to InterLinkPattern. -- LaurensPit
http://www.yahoo.com/test.""
currently becomes http://www.yahoo.com/test. (with the trailing period as part of the URL). With your change the URL passed to SplitUrlPunct? would not include the double-quotes, so the trailing period would be removed.
I have decided to keep the current behavior in 1.0. --CliffordAdams