X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=functions%2Furl_parser.php;h=29de29332f9f3fcd976b71fa70eda15844864cc5;hb=76e6ff644da9490671c2142a042165730ea6c0ea;hp=a34631437f5a71314ff9b969243229bb4639be10;hpb=14a1d0be788f34471e9942b5a3341808fc646f4c;p=squirrelmail.git
diff --git a/functions/url_parser.php b/functions/url_parser.php
index a3463143..29de2933 100644
--- a/functions/url_parser.php
+++ b/functions/url_parser.php
@@ -27,7 +27,7 @@
$body = eregi_replace ("([a-z]|[0-9]|_|\.|-)+\@([a-z]|[0-9]|_|-)+(\.([a-z]|[0-9]|_|-)+)*", "\\0", $body);
}
*/
- $body = eregi_replace ("([a-z]|[0-9]|_|\.|-)+\@([a-z]|[0-9]|_|-)+(\.([a-z]|[0-9]|_|-)+)*", "\\0", $body);
+ $body = eregi_replace ("([a-z]|[0-9]|_|\.|-)+\@([a-z]|[0-9]|_|-)+(\.([a-z]|[A-Z])|[a-z]|[0-9]|_|-)+", "\\0", $body);
return $body;
}
@@ -35,7 +35,7 @@
#Possible ways a URL could finish.
$poss_ends=array(" ", "\n", "\r", "<", ">", ".\r", ".\n", ". ", " ", ")", "(",
- """, "<", ">", ".<");
+ """, "<", ">", ".<", "]", "[", "{", "}", "--");
$done=False;
while (!$done) {
#Look for when a URL starts
@@ -45,11 +45,12 @@
"ftp://",
"telnet://");
for($i = 0; $i < sizeof($url_tokens); $i++) {
- if($where = strpos(strtolower($body), $url_tokens[$i], $start))
+ if($where = strpos(strtolower("^^".$body), $url_tokens[$i], $start))
break;
}
//$where = strpos(strtolower($body),"http://",$start);
if ($where) {
+ $where = $where - 2; // because we added the ^^ at the begining
# Find the end of that URL
reset($poss_ends); $end=0;
while (list($key, $val) = each($poss_ends)) {