", $test))
{
$check = strtolower(substr($test, strpos($test, "<") + 1, strpos($test, ">") - strpos($test, "<") - 1));
$check = str_replace("/", "", $check);
if (!in_array($check, $HTML_TAGS))
{
// Invalid tag found!
return "";
}
$test = substr($test, strpos($test, ">") + 1);
}
// Return tested code
return $html;
}
//
function HTML_INSERT_URLS($text)
{
global $URL_ENDS, $VALID_EMAIL_CHARS;
$test = $text;
// First replace URLs...
while (ereg("http://", $test))
{
$check = substr($test, strpos($test, "http://")); $check2 = $check;
// See ext-html.php if you want to add more URL ends...
foreach ($URL_ENDS as $end)
{
if (ereg($end, $check)) $check = substr($check, 0, strpos($check, $end));
}
// Now replace the URL against anchor container and pray...
$text = substr($text, 0, strpos($text, $check2))."".$check."".substr($text, strpos($text, $check2) + strlen($check));
// Finally remove the url from testing string (or we have a loop and maybe server overload!)
$test = substr($test, strpos($test, $check) + strlen($check));
}
// Now do the (nearly) same thing with email addresses
// but now we have the problem that email addresses didn't have
// a start mark like http:// and our templates are lame didn't have
// a mailto: ... :-(
$test = $text;
// ... what will the email address be out the @... ;-)
$PARTS = array();
while (ereg("@", $test))
{
$pos = strpos($test, "@");
$test2 = substr($test, 0, $pos);
// First check backwards
$idx = $pos - 1;
while ($idx > 0)
{
$check = substr($test2, $idx, 1);
if (!in_array($check, $VALID_EMAIL_CHARS))
{
// Char found so we end here
break;
}
$idx--;
}
if ($idx > 0)
{
// Starting mark is found
$check2 = substr($test, 0, ($idx + 1));
$test = substr($test, ($idx + 1));
}
// And now go forward...
$idx = 0;
while ($idx < strlen($test))
{
$check = substr($test, $idx, 1);
if ((!in_array($check, $VALID_EMAIL_CHARS)) && ($check != "@"))
{
// Char found so end here again
break;
}
$idx++;
}
if ($idx > 0)
{
// Maybe this is the email address?
$check = substr($test, 0, $idx);
}
// Now replace the email against anchor with mailto and pray...
$PARTS[] = $check2."".$check."";
// Remove email from testing string (see above why...)
$test = substr($test, strlen($check));
}
// Now put all parts together
$text = ""; $PARTS[] = $test;
foreach ($PARTS as $part)
{
$text .= $part;
}
// Replace new-lines agains
-s and finally compile possible own HTML tags out...
return COMPILE_CODE(str_replace("\n", "
\n", $text));
}
//
function SEND_HTML_EMAIL($TO, $SUBJECT, $MSG, $FROM)
{
if (EXT_IS_ACTIVE("html_mail"))
{
// Send mail away as HTML
$FROM = "Content-Type: text/html\n".$FROM;
SEND_EMAIL($TO, $SUBJECT, $MSG, 'N', $FROM);
}
}
//
?>