Как удалить все комментарии

Тема в разделе "PHP", создана пользователем La2ha-work, 4 ноя 2010.

Статус темы:
Закрыта.
Модераторы: latteo
  1. La2ha-work

    La2ha-work Создатель

    Регистр.:
    28 сен 2010
    Сообщения:
    31
    Симпатии:
    1
    В общем есть HTML файл размером 30 мб примерно, больше половины текста специально заккоментировано, как удалить все комментарии, пробовал в notepad++ с помошью регулярнвх выражений типа <!--.*--> , но так находит и заменяет комментарии которые на одну строчку, а те которые на несколько не хочет, может можно как-нибудь под ругому, или есть программка какая-нить, на крайний случай может можно написать php скрипт который будет брать один файл с комментариями и делать другой без комментариев?
     
  2. Super_BOT

    Super_BOT

    Регистр.:
    21 апр 2009
    Сообщения:
    256
    Симпатии:
    28
    попробуй использовать /регулярка/g
    g - означает глобальный поиск
     
  3. ZCFD

    ZCFD

    Регистр.:
    16 янв 2008
    Сообщения:
    989
    Симпатии:
    437
    PHP:
    <?php

    file_put_content
    ("2.txt",preg_replace('/<!--.*?-->/s'''file_get_content("1.txt")));

     
    La2ha-work нравится это.
  4. propovednik

    propovednik Постоялец

    Регистр.:
    16 май 2008
    Сообщения:
    104
    Симпатии:
    21
    Вы не учитываете nested-комментарии, а также хаки для например CDATA, скрипт может убить много лишнего. Если документ правда большой и сложный, то рекомендую юзать (не надо только смеятся :) ) dreamweaver, там есть команды - очистить html - вот она кошерно удаляет комментарии и ничего лишнего (ну там можно указать что убивать, а что нет)
     
  5. diavolic

    diavolic

    Регистр.:
    17 мар 2010
    Сообщения:
    522
    Симпатии:
    102
    file_put_contents
    file_get_contents
     
  6. karapet

    karapet

    Регистр.:
    9 сен 2008
    Сообщения:
    168
    Симпатии:
    104
    я для таких целей использую EditPlus. http://www.nulled.ws/showpost.php?p=966370&postcount=22

    то что нужно делается так:

    1. сначала ctrl+H
    2. затем ставим галку "Регулярное выражение"
    3. пишем в "Найти" -> <!--[^]+-->
    4. в "Заменить на" ничего не пишем.
    5. Жмем "Заменить все"
    6. можно после этого всего в "Найти" поставить два переноса строки (два раза Enter) а в "Заменить на" один перенос. Это для того чтоб убрать лишние переносы.

    P.S.: очень многие операции подобного рода делаю именно в нем. Советую вообщем. Чуть позже думаю даже написать статейку по юзанью данной проги для разных полезных целей.
     
Статус темы:
Закрыта.