
05-14-2002, 06:19 PM
|
|
|
Join Date: Nov 2001
Posts: 93
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
|
Actually I guess I wouldn't need to have a separate function.
Here's what I have so far, and there's no errors, but it's not adding the [ share] [ /share] brackets around \\blah\blah either. :cheeky:
Quote:
// ###################### Start parseurl #######################
unset($urlSearchArray);
unset($urlReplaceArray);
unset($emailSearchArray);
unset($emailReplaceArray);
unset($shareSearchArray);
unset($shareReplaceArray);
function parseurl($messagetext)
{ // the auto parser - adds [url] tags around neccessary things
global $urlSearchArray, $urlReplaceArray, $emailSearchArray, $emailReplaceArray, $shareSearchArray, $shareReplaceArray;
if (!isset($urlSearchArray)) {
$urlSearchArray = array(
"/([^]_a-z0-9-=\"'\/])((https?|ftp|gopher|news|telnet):\/\/|www\.)([^ \r\n\(\)\^\$!`\"'\|\[\]\{\}<>]*)/si",
"/^((https?|ftp|gopher|news|telnet):\/\/|www\.)([^ \r\n\(\)\^\$!`\"'\|\[\]\{\}<>]*)/si"
);
$urlReplaceArray = array(
"\\1\\2\\4",
"\\1\\3"
);
$emailSearchArray = array(
"/([ \n\r\t])([_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*(\.[a-zA-Z]{2,4}))/si",
"/^([_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*(\.[a-zA-Z]{2,4}))/si"
);
$emailReplaceArray = array(
"\\1\\2",
"\\0"
);
$shareSearchArray = array(
"/([^]_a-z0-9-=\"'\/])((https?|ftp|gopher|news|telnet):\/\/|\\)([^ \r\n\(\)\^\$!`\"'\|\[\]\{\}<>]*)/si",
"/^((https?|ftp|gopher|news|telnet):\/\/|\\)([^ \r\n\(\)\^\$!`\"'\|\[\]\{\}<>]*)/si"
);
$shareReplaceArray = array(
"\\1[share]\\2\\4[/share]",
"[share]\\1\\3[/share]"
);
}
$text = preg_replace($urlSearchArray, $urlReplaceArray, $messagetext);
if (strpos($text, "@"))
$text = preg_replace($emailSearchArray, $emailReplaceArray, $text);
if (strpos($text, "\\")) {
$text = preg_replace($shareSearchArray, $shareReplaceArray, $text);
}
return $text;
}
|
|