- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Всем доброй ночи.
Подскажите пожалуйста как мне забрать регуляркой данные в таблице.
preg_match("/<td width=\'10% class=\"(green)\" data=.*?>(.*?)%<\/td>/is",$str,$ok);В таблице попадается класс class="green" , class="red" Так же может вообще не быть класса.
Необходимо проверять какой цвет у класса и забирать его, если класс отсутствует то забирать без класса.
Ваши данные будут в массиве $ok.
Или Вас что-то другое интересует? Из стартпоста это не очень понятно.
seosniks, Сорри, но Вы хотите получить код персера или таки помощь? Ваша регулярка (уже выше писали) вернёт всё в $ok
seosniks, Сорри, но Вы хотите получить код персера или таки помощь? Ваша регулярка (уже выше писали) вернёт всё в $ok
Код у меня есть.
Я не могу выбрать парсером ячейки где отсутствует класс
Вот таблица.
<td data='0'>100</td>
<td data='0' class="red">500</td>
<td data='0' class="green">700</td>
Забираем green и red.
preg_match("/<td width=\'10% class=\"(green|red)\" data=.*?>(.*?)%<\/td>/is",$str,$ok);
Как получить значения red, green, 100,500,700?
seosniks, red, green в $ok[1] 100,500,700 в $ok[2]
---------- Добавлено 29.09.2018 в 22:15 ----------
Я не могу выбрать парсером ячейки где отсутствует класс
Так Ваша регулярка под это и не "заточена"
---------- Добавлено 29.09.2018 в 22:16 ----------
seosniks, Проще достать второй регуляркой, но можно вывернуться и одной, вроде как на вскидку
seosniks, red, green в $ok[1] 100,500,700 в $ok[2]
---------- Добавлено 29.09.2018 в 22:15 ----------
Так Ваша регулярка под это и не "заточена"
---------- Добавлено 29.09.2018 в 22:16 ----------
seosniks, Проще достать второй регуляркой, но можно вывернуться и одной, вроде как на вскидку
Одной можно, только правильно составить нужно шаблон, не докумекаю.
Условие должно быть, выбрать red|green если есть класс. Если класса нет выбрать только то что между
<td.*?>и </td>
seosniks, https://yadi.sk/i/_vnb4hZPSUsNZg где-то так
preg_match_all("/<td.*?class=\"(.*?)\" data=.*?>(.*?)<\/td>/is", $res_f,$ok);
print_r($ok);
как еще выбрать 700 из [2] => <td data='3'>700</td> ?
как еще выбрать 700 из [2] => <td data='3'>700</td> ?
Я Вам выше ссылку на скрин с регуляркой и выборкой дал...
оно и есть →
[2] => Array
(
[0] => +100
[1] => 500
[2] => 900
)