Функция для вырезания HTML и PHP-комментариев

Valery Shostak

Новичок
Функция для вырезания HTML и PHP-комментариев

Пожалуйста, подскажите, есть-ли что-то подобное?
Нужно, чтобы корректно вырезались комментарии //, # и /* */.
При этом, код вроде $qwe = 'йуцкуцкцуй /* 412342134124 */ ячсмясчмясчмчяс'; должны обрабатываться корректно, т.е. вырезаться комментарии в нём не должны.

И есть-ли что-то подобное для связки HTML+PHP?
Здесь, соответственно, добавляется комментарий <!-- --> и корректная обработка кода вроде <?='<!--[if IE]>'?><?='<![endif]-->'?>, в котором всё должно остаться без изменений.
 

tz-lom

Продвинутый новичок
есть php -w очищающий код от комментариев и лишних пробелов
так же есть расширение Parsekit позволяющее распарсить PHP файл
 

Valery Shostak

Новичок
php -w и tokenizer не подходят, т.к. вырезают только PHP-комментарии.

Parsekit тоже не подходит. Нужно, чтобы это работало с использованием страндартных средств на большинстве популярных хостингов.

Может быть есть какие-то решения для подсветки синтаксиса HTML+PHP+CSS+JS средствами PHP? Их тоже можно приспособить для решения этой задачи.
 

dimagolov

Новичок
php -w и tokenizer не подходят, т.к. вырезают только PHP-комментарии.
во-первых, проблему нужно решать по частям, и php -w решает большую ее часть.

во-вторых вырезать html комментарии из говнокодной смеси php & html крайне не тривиально, да и не факт, что нужно:
PHP:
<html>
...
<!-- Comment started here <?php echo date(); ?> -->
<?php echo "<!-- Another comment -->"; ?>
...
 

AmdY

Пью пиво
Команда форума
стесняюсь спросить, но не могу сдерживать себя: "А ЗАЧЕМ?"
ладно ещё комменты из html для "облегчения страницы", а вот с php для чего вырезать?
 

Valery Shostak

Новичок
Как раз для облегчения страницы и нужно.

Допустим, есть шаблон:

PHP:
<?
  // Test
  function  show()
  {
    ?>
        HTML
    <?
  }
?>
Если убрать лишние пробельные символы, получится, что шаблон частично закомментирован:

PHP:
<?// Testfunction  show(){?>HTML<?}?>
Для этого нужно вырезать в том числе и PHP-комментарии.
 

FB3

Новичок
Что мешает писать (или обрезать) так?
PHP:
<? 
  // Test 
  function  show() 
  { 
    ?>HTML<? 
  } 
?>
Нужно ведь HTML код порезать, а не PHP.
 

AmdY

Пью пиво
Команда форума
Valery Shostak
заюзай mod_deflate и не парься
Нужно, чтобы это работало с использованием страндартных средств на большинстве популярных хостингов.
стандартный хостинг == маленькие нагрузки, зачем экономить на спичках и сидеть в темноте (экономишь на трафике, тратишься на ресурсах и времени отработки скрипта)?
 

Вурдалак

Продвинутый новичок
Valery Shostak, tokenizer тебе подойдёт, только требуется доделать вырезание HTML-комментариев из текстовой части (вне кода и строковые литералы).

-~{}~ 03.08.10 17:56:

При условии, что HTML-комментарии не генерируются как-то по-левому. Тогда только на выходе их резать.
 
Сверху