Частый гость
Покинул форум
Сообщений всего: 220
Дата рег-ции: Март 2009
Помог: 0 раз(а)
|
Написал тут небольшой класс для табуляции PHP кода.
Спойлер (Отобразить)PHP:
скопировать код в буфер обмена
class TabulPHP{ static $BS1; static $BS2; static $highlite = false; private static function sv($t){ $fa = array('{','}','<','>'); $ra = array(self::$BS1,self::$BS2,'<','>'); } public static function tab($str,$count){ $ts = "\t"; if (!self::$highlite) { $ts = ' '; } if ($count == 0) { return $str; } $t = ''; for ($i = 0;$i<$count;$i++){ $t .= $ts; } return $t.$str; } public static function tabulate($text,$highlite = false){ self::$highlite = $highlite; $text = preg_replace("~[\"'](.*?)(\{|\})(.*?)[\"']~ie","self::sv('\\0')",$text); $tab = 0; foreach ($lines as $line){ $a = (strpos($line,'{') !== false) ? true : false; $b = (strpos($line,'}') !== false) ? true : false; if ($a && $b) { $tab--; $rr[] = self::tab($line,$tab); } elseif ($a && !$b){ $rr[] = self::tab($line,$tab); $tab++; } elseif ($b && !$a){ $tab--; $rr[] = self::tab($line,$tab); } else { $rr[] = self::tab($line,$tab); } } if ($highlite) { } else { } } }
Вызвать просто
$code (string) - пхп код который надо протабулировать
$highlite (bool) - подсветить код или нет
Скачать
|