Просмотр файла globalchat/model/gcbbcodes.php

Размер файла: 1.66Kb
<?php

/* Нормально было бы реализовать функции в виде класса, но preg_replace_callback не хочет работать с таковыми. 
* :NOTICE: Нужно переписать на ООП */

function gcCompileBbCode ($matches)
	{
	$text = $matches[0];
	$bbCodeName = $matches[1];
	$bbCodeContent = $matches[2];
	$processedContent = gcProcessBbCodes ($bbCodeContent);
	$result = $text;
		switch ($bbCodeName)
		{
		case 'b': $result = "<strong>$processedContent</strong>"; break;
		case 'i': $result = "<em>$processedContent</em>"; break;
		case 'u': $result = "<span style='text-decoration: underline;'>$processedContent</span>"; break;
		case 's': $result = "<del>$processedContent</del>"; break;
		case 'small': $result = "<span style='font-size: 8px;'>$processedContent</span>"; break;
		case 'big': $result = "<span style='font-size: 20px;'>$processedContent</span>"; break;
		case 'code': $result = "<code style='white-space: pre;'>$processedContent</code>"; break;
		case 'quote': $result = "<div class='quote' style='font-size: 10px;'>$processedContent</div>"; break;
		case 'red': $result = "<span style='color: darkred;'>$processedContent</span>"; break;
		case 'green': $result = "<span style='color: darkgreen;'>$processedContent</span>"; break;
		case 'blue': $result = "<span style='color: darkblue;'>$processedContent</span>"; break;
		case 'orange': $result = "<span style='color: darkorange;'>$processedContent</span>"; break;
		}
	return $result;
	}

	function gcProcessBbCodes ($text)
	{
	return preg_replace_callback ('/\[([a-zA-Z]{1,10})\](.+)\[\/\\1\]/isU', 'gcCompileBbCode', $text);
	}