All pastes #345585 Raw Edit

Unnamed

public php v1 · immutable
·published 2007-02-08 17:11 UTC
rendered paste body
function strtotext($str){	// Försäkra sig om att alla radbrytningar är \n	$str = str_replace(array("\n\r", "\r\n", "\r"), "\n", $str);		// Lagra alla kod-block i en array	$code_matches = array();	preg_match_all('/\[php](.*?)\[\/php]/is', $str, $code_matches);		// Ta bort all kod innan text-formateringen	$str = preg_replace('/\[php](.*?)\[\/php]/is', "\n\n[CODE-BLOCK]\n\n", $str);		// Kör igenom kod-blocken	for ($i = 0; $i < count($code_matches[1]); $i++)	{		// Ta bort den första och sista radbrytningen		if (substr($code_matches[1][$i], 0, 1) == "\n")		{			$code_matches[1][$i] = substr($code_matches[1][$i], 1);		}				if (substr($code_matches[1][$i], -1, 1) == "\n")		{			$code_matches[1][$i] = substr($code_matches[1][$i], 0, -1);		}				// Kör highlight_string på kod-blocken		$code_matches[1][$i] = "<div class=\"code_php\"><span class=\"code\">" . highlight_string($code_matches[1][$i], true) . "</span></div><p class=\"norm\">";	}	$str = htmlentities($str);	// Grunderna - Fet, kursiv, understruken	$str = preg_replace('/\[b](.*?)\[\/b]/', '<strong>\1</strong>', $str);	$str = preg_replace('/\[i](.*?)\[\/i]/', '<i>\1</i>', $str);	$str = preg_replace('/\[u](.*?)\[\/u]/', '', $str);		// Länkar - URL1 & URL2	$str = preg_replace('/\[url=((https?|ftps?):\/\/)?(([-_a-zA-Z]+\.)*)([a-zA-Z]{2,6})(\/[^\]\[\s]*)?\]([^\]\[]+)\[\/url\]?/e',"'$1'!=''?'<a href=\"$1$3$5$6\">$7</a>':'<a href=\"http://$3$5$6\">$7</a>'", $str);		$str = preg_replace('/\[url]((https?|ftps?):\/\/)?(([-_a-zA-Z]+\.)*)([a-zA-Z]{2,6})(\/[^\]\[\s]*)?\[\/url\]/e',"'$1'!='' ?'<span class=\"main_links\"><a href=\"$1$3$5$6\">$1$3$5$6</a></span>':'<span class=\"main_links\"><a href=\"http://$3$5$6\">$3$5$6</a></span>'", $str);		// Färger - Röd, grön, blå & orange	$str = preg_replace('/\[color=(red|green|blue|orange)](.*?)\[\/color]/', '<span class="\1">\2</span>', $str);		// Lägg tillbaka alla kod-block	foreach ($code_matches[1] as $block)	{		$str = str_replace_once("[CODE-BLOCK]", $block, $str);	}		return $str;}