<?php include_once($UTIL_DIR . "/convert.php"); include_once($UTIL_DIR . "/smileys.php"); function parse($input, $indent = "") { global $testing; // Remove all tags from input (convert to xml) $output = convert_xml($input); // Replace newlines with '\n' and indent code. $nls = array("\n\r", "\n\c", "\n"); $nls = str_replace($nls, "\n" . $indent, $indent . $output); $output = $nls; // Put in the smileys global $smileys; foreach($smileys as $smiley) { $smile = $smiley[0]; $smile = str_replace($smile, "<img alt=\"\" src=\"gfx/smileys/" . $smiley[1] . "\"></img>", $output); $output = $smile; } // Replace URLs with <a></a> tags $urls = ""; while(($start = strpos($output, "http://"))) { $pre = substr($output, 0, $start); $url = substr($output, $start); $end1 = strpos($url, " "); $end2 = strpos($url, "\n"); if($end1 == 0) { if($end2 == 0) $end = strlen($url); else $end = $end2; } else { if($end2 == 0) $end = $end1; else if($end1 < $end2) $end = $end1; else $end = $end2; } $url = substr($url, 0, $end); $post = substr($output, $start + $end); if(strstr($url, ".jpg") || strstr($url, ".gif") || strstr($url, ".png")) { $urls .= $pre . "<a href=\"" . $url . "\"><img alt=\"" . $url . "\" style=\"border: solid red 1px;\" src=\"imagecache.php?filename=" . urlencode($url) . "\"/></a>"; } else { $urls .= $pre . "<a href=\"" . $url . "\">" . $url . "</a>"; } $output = $post; } $urls .= $output; $output = $urls; // Replace [quote title=...]...[/quote] $urls = ""; while(($start = strpos($output, "[quote"))) { $pre = substr($output, 0, $start); $url = substr($output, $start); $end = strpos($url, "[/quote]") + strlen("[/quote]"); $url = substr($url, 0, $end - strlen("[/quote]")); $post = substr($output, $start + $end + strlen("[/quote]") ); $header = substr($url, 0, strpos($url, "]") + 1); $body = substr($url, strpos($url, "]") + 1); $header = str_replace(array("title"), "", $header); $header = str_replace(array("="), "<div class=\"title\">", $header); $header = str_replace(array("[quote"), "<div class=\"quote\">", $header); $header = str_replace(array("]"), " </div>", $header); $urls .= $pre . $header . $body . "</div>"; $output = $post; } $urls .= $output; $output = $urls; // // Hack to make quotes two levels deep. // // Replace [quote title=...]...[/quote] $urls = ""; while(($start = strpos($output, "[quote"))) { $pre = substr($output, 0, $start); $url = substr($output, $start); $end = strpos($url, "[/quote]") + strlen("[/quote]"); $url = substr($url, 0, $end - strlen("[/quote]")); $post = substr($output, $start + $end + strlen("[/quote]") ); $header = substr($url, 0, strpos($url, "]") + 1); $body = substr($url, strpos($url, "]") + 1); $header = str_replace(array("title"), "", $header); $header = str_replace(array("="), "<div class=\"title\">", $header); $header = str_replace(array("[quote"), "<div class=\"quote\">", $header); $header = str_replace(array("]"), " </div>", $header); $urls .= $pre . $header . $body . "</div>"; $output = $post; } $urls .= $output; $output = $urls; // <b></b> $b = array("[b]", "[B]"); $b = str_replace($b, "<strong>", $output); $output = $b; $b = array("[/b]", "[/B]"); $b = str_replace($b, "</strong>", $output); $output = $b; // <i></i> $i = array("[i]", "[I]"); $i = str_replace($i, "<em>", $output); $output = $i; $i = array("[/i]", "[/i]"); $i = str_replace($i, "</em>", $output); $output = $i; // Replace newlines with <br/> tags $nls = array("\n"); $nls = str_replace($nls, "<br/>\n", $output); $output = $nls; return $output; } ?>