X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=functions%2Furl_parser.php;h=2fb2d3a67450725354f0384b08b6023a9fea1257;hb=8cd3f6dae1b23eeb8656604cf759d28663601e93;hp=53c18a24011fd6698164c48a4d9c8eb0879cf23f;hpb=9eea179c055de6dcddf7b326818a9b522bdf96e6;p=squirrelmail.git
diff --git a/functions/url_parser.php b/functions/url_parser.php
index 53c18a24..2fb2d3a6 100644
--- a/functions/url_parser.php
+++ b/functions/url_parser.php
@@ -1,49 +1,54 @@
$what", $oldaddr);
$body = str_replace ($oldaddr, "$newaddr", $body);
}
} else {
- $body = eregi_replace ($Expression, "\\0", $body);
+ $body = eregi_replace ($Email_RegExp_Match, "\\0", $body);
}
*/
- $body = eregi_replace ($Expression, "\\0", $body);
+ $body = eregi_replace ($Email_RegExp_Match, "\\0", $body);
// If there are any changes, it'll just get bigger.
if ($Size != strlen($body))
@@ -52,20 +57,26 @@
}
- function parseUrl (&$body)
- {
- $url_tokens = array(
- 'http://',
- 'https://',
- 'ftp://',
- 'telnet:', // Special case -- doesn't need the slashes
- 'gopher://',
- 'news://');
+ // We don't want to re-initialize this stuff for every line. Save work
+ // and just do it once here.
+ global $url_parser_url_tokens;
+ $url_parser_url_tokens = array(
+ 'http://',
+ 'https://',
+ 'ftp://',
+ 'telnet:', // Special case -- doesn't need the slashes
+ 'gopher://',
+ 'news://');
- $poss_ends = array(' ', '\n', '\r', '<', '>', '.\r', '.\n', '. ',
- ' ', ')', '(', '"', '<', '>', '.<', ']', '[', '{',
- '}', "\240");
+ global $url_parser_poss_ends;
+ $url_parser_poss_ends = array(' ', "\n", "\r", '<', '>', ".\r", ".\n",
+ '. ', ' ', ')', '(', '"', '<', '>', '.<',
+ ']', '[', '{', '}', "\240");
+
+ function parseUrl (&$body)
+ {
+ global $url_parser_poss_ends, $url_parser_url_tokens;;
$start = 0;
$target_pos = strlen($body);
@@ -74,7 +85,7 @@
$target_token = '';
// Find the first token to replace
- foreach ($url_tokens as $the_token)
+ foreach ($url_parser_url_tokens as $the_token)
{
$pos = strpos(strtolower($body), $the_token, $start);
if (is_int($pos) && $pos < $target_pos)
@@ -89,7 +100,7 @@
if (parseEmail($check_str))
{
- $body = replaceBlock($body, $check_str, $start, $target_pos);
+ replaceBlock($body, $check_str, $start, $target_pos);
$target_pos = strlen($check_str) + $start;
}
@@ -98,7 +109,7 @@
{
// Find the end of the URL
$end=strlen($body);
- foreach ($poss_ends as $key => $val)
+ foreach ($url_parser_poss_ends as $key => $val)
{
$enda = strpos($body,$val,$target_pos);
if (is_int($enda) && $enda < $end)
@@ -112,7 +123,7 @@
if ($url != '' && $url != $target_token)
{
$url_str = "$url";
- $body = replaceBlock($body,$url_str,$target_pos,$end);
+ replaceBlock($body,$url_str,$target_pos,$end);
$target_pos += strlen($url_str);
}
else