- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Все что нужно знать о DDоS-атаках грамотному менеджеру
И как реагировать на "пожар", когда неизвестно, где хранятся "огнетушители
Антон Никонов
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
вот например есть таблица
<tr><td>1</td>--тут много столбцов--<td>super</td>--тут много столбцов--</tr>
<tr><td>2</td>--тут много столбцов--<td>super</td>--тут много столбцов--</tr>
<tr><td>3</td>--тут много столбцов--<td>nosuper</td>--тут много столбцов--</tr>
<tr><td>4</td>--тут много столбцов--<td>super</td>--тут много столбцов--</tr>
нужно выделить строки в которых есть super
очевидно делаем #<tr><td>([\d]+)</td>.+?<td>super</td>.+?</tr>#si
НО! ок кушает вот так целиком
<tr><td>3</td>--тут много столбцов--<td>nosuper</td>--тут много столбцов--</tr>
<tr><td>4</td>--тут много столбцов--<td>super</td>--тут много столбцов--</tr>
нужно как-то уточнить границу поиска, т.е. чтото типа
#<tr><td>([\d]+)</td>[^</tr>]+<td>super</td>.+?</tr>#si
[^</tr>]+ - это не работает, так как ищет не выражение а отдельные символы
и еще - СТРОКИ БЕЗ ПЕРЕВОДА КАРЕТКИ, Т.Е. убрав #si не поможет (тут так написал для лучшего восприятия кода)
есть ли такая возможность вообще? я придумал только выделить все <tr>.+?</tr> и в цикле проверять, либо где --тут много столбцов-- забивать всю эту кучу столбцов в виде <td>.*?</td>
я придумал только выделить все <tr>.+?</tr> и в цикле проверять
Самый лучший вариант. Здесь нет смысла извращаться с регулярными выражениями
http://www.php.net/manual/ru/function.preg-match.php
установи flags, и уже исходя из позиции можно повертеть, обрезать, выдать и т.д. типа обрезать до первого вхождения </tr> включительно...
это как вариант.
http://www.php.net/manual/ru/function.preg-match.php
установи flags, и уже исходя из позиции можно повертеть, обрезать, выдать и т.д. типа обрезать до первого вхождения </tr> включительно...
это как вариант.
flags меняет лишь постоение результирующего массива, эт от так сделать можно
хочется всё в одну регулярку и красиво...
Если уж так сильно хочется
#<tr><td>(\d+)</td>(?:.(?!</tr>))*?<td>super</td>.*?</tr>#si