| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > PHP: Тексты > регуляр!! |
| Автор: нуп 10.5.2010, 16:51 | ||
В регулярках бот страшный. Надо вытащить всю таблицу начиная от <table class=maintable до </table>, нужны только те таблицы где встречается символ "№". class=maintable может написан либо в двойных кавычках, либо в одинарных, либо без кавычек . Вот мой ботокод подправьте плиз
|
| Автор: SelenIT 11.5.2010, 01:48 | ||
В первом приближении как-то так, видимо. |
| Автор: brother79 11.5.2010, 05:29 | ||
А во втором так
|
| Автор: SelenIT 11.5.2010, 09:16 |
| brother79, сорри, не понял... зачем .*?, когда уже стоит U? |
| Автор: нуп 11.5.2010, 10:00 | ||
Что-то не работает
Вот так может быть Добавлено через 6 минут и 44 секунды ["\'] Как добавить третий вариант, на отсутствие символа?! |
| Автор: SelenIT 11.5.2010, 10:23 |
| В моем изначальном варианте он есть, в виде вопроса после скобки. И у меня локально (PHP5.3.2, Ubuntu) с этими примерами работает... |
| Автор: нуп 11.5.2010, 10:25 | ||||
Так работает, но как сделать чтобы находило только для одной таблицы, то есть идет такой код
мне надо, чтобы нашло только 1 таблицу |
| Автор: SelenIT 11.5.2010, 10:30 |
| Он и должен найти только вторую таблицу, с №... |
| Автор: brother79 11.5.2010, 10:32 |
Sory, просто не пользуюсь этим модификатором, вот и не обратил внимания |
| Автор: нуп 11.5.2010, 10:59 |
| Ваш вариант работает, если есть кавычки. Что можно добавить, что парсило такое class=maintable |
| Автор: SelenIT 11.5.2010, 11:08 |
| У меня (["\']?)maintable\\1 работает и с кавычками, и без (все примеры 6-ю постами выше). Правда, возможность пробелов до и после "=" не учитывается. |
| Автор: нуп 11.5.2010, 11:28 |
| Просто мне выдает весь результат, там 3 таблицы. Использую preg_match_all. А как выводить только то, что у меня в регулярке |
| Автор: SelenIT 11.5.2010, 11:54 |
| Возможно, где-то лишний преобразователь жадности остался. Должен быть только один - либо ? после .* внутри таблицы, либо модификатор U в конце (как в моем примере). |
| Автор: нуп 11.5.2010, 14:16 |
| Спасибо всем. Нашел плагин под фф Regular expression tester, очень удобная штука. |