', $test)) {
$check = strtolower(substr($test, strpos($test, '<') + 1, strpos($test, '>') - strpos($test, '<') - 1));
$check = str_replace('/', '', $check);
if (!in_array($check, $GLOBALS['html_tags'])) {
// Invalid tag found!
return '';
}
$test = substr($test, strpos($test, '>') + 1);
}
// Return tested code
return $html;
}
//
function insertUrlsIntoHtml ($text) {
$test = $text;
// First replace URLs...
while (isInString('http://', $test)) {
$check = substr($test, strpos($test, 'http://')); $check2 = $check;
// See ext-html.php if you want to add more URL ends...
foreach ($GLOBALS['url_ends'] as $end) {
if (isInString($end, $check)) $check = substr($check, 0, strpos($check, $end));
} // END - foreach
// 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));
} // END - while
// 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 (isInString('@', $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, $GLOBALS['valid_email_chars'])) {
// Char found so we end here
break;
} // END - if
$idx--;
} // END - while
if ($idx > 0) {
// Starting mark is found
$check2 = substr($test, 0, ($idx + 1));
$test = substr($test, ($idx + 1));
} // END - if
// And now go forward...
$idx = '0';
while ($idx < strlen($test)) {
$check = substr($test, $idx, 1);
if ((!in_array($check, $GLOBALS['valid_email_chars'])) && ($check != '@')) {
// Char found so end here again
break;
} // END - if
$idx++;
} // END - while
if ($idx > 0) {
// Maybe this is the email address?
$check = substr($test, 0, $idx);
} // END - if
// 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;
} // END - foreach
// Replace new-lines agains
-s and finally compile possible own HTML tags out...
return preCompileCode(str_replace("\n", "
\n", $text));
}
// [EOF]
?>