Убрать определенный кусок

Тема в разделе "Регулярные выражения", создана пользователем Q_BASIC, 14 янв 2015.

Статус темы:
Закрыта.
Модераторы: xpert13
  1. Q_BASIC

    Q_BASIC

    Регистр.:
    30 ноя 2013
    Сообщения:
    352
    Симпатии:
    223
    Надо из этого:
    Код:
    A.from {
        color: #123;
    }
    /* Quick redact start */
    body { background: url(); }
    /* Quick redact stop */
    body {
        width: 900px;
    }
    Убрать
    Код:
    /* Quick redact start */
    Тут хоть что
    /* Quick redact stop */
    Я сделал так:
    PHP:
    $css preg_replace("#\/\* Quick redact start \*\/(.*?)\/\* Quick redact stop \*\/#"''$css);
    Почему то не работает
     
    Последнее редактирование: 14 янв 2015
  2. xpert13

    xpert13 <(*_*)>

    Moderator
    Регистр.:
    7 ноя 2008
    Сообщения:
    182
    Симпатии:
    453
    Код:
     $css = preg_replace("#\/\* Quick redact start \*\/([\S\s]*?)\/\* Quick redact stop \*\/#", '', $css); 
     
    Q_BASIC нравится это.
  3. lag

    lag

    Регистр.:
    13 окт 2014
    Сообщения:
    188
    Симпатии:
    228
    Не работает, потому что метасимвол точка в шаблоне соответствует всем символам, за исключением переводов строк. Для соответсвия всем символам необходим модификатор /s.
    http://php.net/manual/ru/reference.pcre.pattern.modifiers.php
     
    Q_BASIC нравится это.
Статус темы:
Закрыта.