DANFA

Обработка кода на PHP

В общем, сценарий убирает лишние пробелы в конце каждой строчки кода, а перед строкой заменяет четыре идущих подряд пробела на табуляцию, если конечно четыре пробела есть. Сам код остается не тронутым.

Сценарий:
if (isset($_POST['correction']))
{
	$code  = htmlentities($_POST['code']);
	$codes = explode("\n", $code);

	$str = null;
	$cnt = count($codes);
	for ($i = 0; $i < $cnt; $i++)
	{
		$trimCode = trim($codes[$i]);
		if (!empty($trimCode))
		{
			preg_match('#^( {4}|[\t])*#', $codes[$i], $match);
			$codes[$i] = preg_replace('# {4}#', "\t", $match[0]) . $trimCode;

			$str .= (($i != 0) ? "\n" : null) . $codes[$i];
		}
		else
		{
			$str .= "\n";
		}
	}

	echo '<pre>' . $str . '</pre>';
}

И форма к сценарию:
<html>
<form action="" method="POST">
	<textarea rows="10" cols="120" name="code"></textarea>
	<br /><input type="submit" name="correction" value="Обработать">
</form>
</html>

Вставляем код в форму, жмем кнопку "Обработать" и под формой появится код с обработанными пробелами.

Форму и сценарий для удобства можно вставить в один файл.