", $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); } } // ?>