All pastes #467843 Raw Edit

Stuff

public text v1 · immutable
·published 2007-05-02 19:13 UTC
rendered paste body
	public static function output_text ($input, $p = true)
	{

		$input = Core_Tools::splitLongWords ($input);

		/* Config: breaks: */
		$p_open = '<p class="tc">';
		$p_close = '</p>';
		$p_break = '<br class="tc" \>';

		$convert = stripslashes ($input);
		$convert = htmlspecialchars($convert);

		$convert = eregi_replace("&amp;","&",$convert);

		$codeDoorgeven = array();
		$count = 0;
		
		// codes eruit halen
		$patternAnything = "(.*?)";
		$pattern = "#\\[code]".$patternAnything."\\[/code\\]#i";
		preg_match_all($pattern,$convert,$codes);
		foreach($codes[0] as $nor => $var1) {

			$replace = '[code2]'.$count.'[/code2]';
			$pom = stripslashes($codes[0][$nor]);
			$convert = str_replace($pom,$replace,$convert);
			$codeDoorgeven[$count] = $codes[1][$nor];
			$count ++;

		}
		
		// Bold and italics
		$convert = eregi_replace("\[b]","<b>",$convert);
		$convert = eregi_replace("\[/b]","</b>",$convert);
		$convert = eregi_replace("\[i]","<i>",$convert);
		$convert = eregi_replace("\[/i]","</i>",$convert);
		$convert = eregi_replace("\[u]","<u>",$convert);
		$convert = eregi_replace("\[/u]","</u>",$convert);
		
		/*
		
			// quote met titel
			$convert = preg_replace("/\[quote: (.*?)]/si", 
				"</p><blockquote><h3>Quote"
				." \\1:</h3><p>", $convert);
		
		*/
		
		if (!$p) {
		
			// Headers
			$convert = preg_replace (
			
				"/\[h(.*?)](.*?)\[\/h(.*?)]/si",
				'<h\\1 class="tc">\\2</h\\1>',
				$convert
				
			);
		
		}
		
		else {
		
			// Headers
			$convert = preg_replace (
			
				"/\[h(.*?)](.*?)\[\/h(.*?)]/si",
				$p_close.'<h\\1 class="tc">\\2</h\\1>'.$p_open,
				$convert
				
			);
		
		}
		
		// Images align=left
		$convert = eregi_replace(
			"\[img]([-_./a-zA-Z0-9!&%#?,'=:~]+)\[/img]",
			"<img class=\"tc\" style=\"margin: 0px 5px;\" src=\"\\1\">", $convert);
		
		// Images align=left
		$convert = eregi_replace(
			"\[img:([-_./a-zA-Z0-9!&%#?,'=:~]+)\]([-_./a-zA-Z0-9!&%#?,'=:~]+)\[/img]",
			"<img class=\"tc\" style=\"margin: 0px 5px;\"  align=\"\\1\" src=\"\\2\">", $convert);
		
		// Hyperlinks
		$convert = eregi_replace(
			"\[url]([^\[]*)\[/url]",
			"<a class=\"tc\" target=\"_BLANK\" href=\"\\1\">\\1</a>", $convert);
		
		$convert = eregi_replace(
			"\[url=([^\[]*)\]([^\[]*)\[/url]",
			"<a class=\"tc\" target=\"_BLANK\" href=\"\\1\">\\2</a>", $convert);
		
		// fonts
		$convert = eregi_replace(
			"\[color=([a-zA-Z0-9]+)\]",
			"<font class=\"tc\" color=\"\\1\">", $convert);

		// quote met titel
		$convert = preg_replace("/\[quote: (.*?)]/si", 
			$p_close."<blockquote class=\"tc\" ><h3>Quote"
			." \\1:</h3><p>", $convert);

		// quote zonder titel
		$convert = str_replace("[quote]", $p_close."<blockquote>".$p_open, $convert);

		$convert = str_replace("[/quote]", $p_close."</blockquote>".$p_open, $convert);

		// codes terugplaatsen
		// codes erin steken
		foreach($codeDoorgeven as $a => $b) {

			$sk = '[code2]'.$a.'[/code2]';
			$replace = $b;
			$convert = str_replace($sk,$replace,$convert);

		}

		// Paragraphs and line breaks
		$convert = eregi_replace ("\r", "", $convert);
		$convert = eregi_replace ("\n\n", $p_close.$p_open, $convert);
		$convert = eregi_replace ("\n", $p_break, $convert);

		// Remove "empty p"
		$convert = str_replace ($p_open.$p_close, '', $convert);
		$convert = str_replace ($p_open.$p_break, $p_open, $convert);

		if ($p) {

			$convert = $p_open . $convert . $p_close;

		}

		return ($convert);
	
	}