Новости Joomla

0 Пользователей и 1 Гость просматривают эту тему.
  • 4 Ответов
  • 604 Просмотров
*

ecolora

  • Завсегдатай
  • 1527
  • 171 / 2
  • творец
Уважаемые коллеги, в последнее время мало программировал, совсем забыл регулярки.
(честно говоря, для меня это всегда была не очень простая тема, каждый раз лезешь и читаешь мануалы, прежде чем написать регулярку). Так вот, отвлекся.
Есть HTML страница.
В ней некий код, и внутри него всегда есть:
Код
<tr>
<td valign="top">Availability:</td>
<td colspan=2>IN STOCK (2)</td>
</tr>
или
Код
<tr>
<td valign="top">Availability:</td>
<td colspan=2><font color="#FF0000">DISCONTINUED</td>
</tr>
Какой д.б. шаблон (можно весь код) для регулярки, чтобы получить то, что внутри ячейки: IN STOCK (2) или DISCONTINUED.
Спасибо за помощь!
Я рифме друг словесной. Тут
Свой упражняю словоблуд:
Блог Ecolora
*

dm-krv

  • Завсегдатай
  • 1028
  • 28 / 0
Не нужно изобретать велосипед, используйте готовые решения. Например, я сам для парсинга использую не регулярки, а библиотеку PHP Simple HTML DOM Parser.

Допустим в $html у вас лежит страница. Найти элементы с нужными селекторами можно так:

Код
include 'simple_html_dom.php'; // подключаем библиотеку

$masiv = $html->find('td[colspan=2]'); // ищем элементы и пишем в массив

Далее полученный массив уже можно перебирать:

Код
foreach ($masiv as $elem) {

    echo $elem->plaintext; // Выведет только текст внутри элемента

}

Или сразу посмотреть нужный элемент, без перебора. В интернете есть инструкции, как использовать парсер. Главное его преимущество в том, что он работает даже при наличии ошибок в разметке страницы.
« Последнее редактирование: 31.07.2019, 10:59:01 от dm-krv »
*

ecolora

  • Завсегдатай
  • 1527
  • 171 / 2
  • творец
Сделал так (у меня код страницы в $resp).
Код
if (preg_match("#Availability:<\/td>(.*?)<\/td>#s",$resp,$matches))
            echo strip_tags($matches[1]);
Я рифме друг словесной. Тут
Свой упражняю словоблуд:
Блог Ecolora
*

ProtectYourSite

  • Живу я здесь
  • 2356
  • 135 / 4
  • Безопасность вебсайтов
Главное его преимущество в том, что он работает даже при наличии ошибок в разметке страницы.
А главный недостаток, что он очень прожорлив, и это необоснованно использовать столько ресурсов для конкретной задачи.
*

dm-krv

  • Завсегдатай
  • 1028
  • 28 / 0
А главный недостаток, что он очень прожорлив, и это необоснованно использовать столько ресурсов для конкретной задачи.

Это себя никак не проявит на большинстве типовых среднестатических сайтов, такой дотошный учет ресурсов имеет смысл только на сайтах с большим количеством посетителей, от 1 000 человек в день.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

[РЕШЕНО] Скроллинг страницы вниз?

Автор warlocksp

Ответов: 3
Просмотров: 649
Последний ответ 02.02.2020, 15:56:55
от warlocksp
Поле textarea, вставка html?

Автор warlocksp

Ответов: 6
Просмотров: 1770
Последний ответ 24.12.2019, 17:10:01
от beliyadm
На сайте страницы, которые я не создавал

Автор Андрей Купцов

Ответов: 0
Просмотров: 471
Последний ответ 18.12.2019, 10:22:27
от Андрей Купцов
Перенос текста из одной страницы сайта в форму другой страницы

Автор D-Nik Lubny

Ответов: 0
Просмотров: 708
Последний ответ 18.03.2018, 22:10:40
от D-Nik Lubny
Как обойти параметр display: none заданный в html?

Автор dron

Ответов: 2
Просмотров: 1213
Последний ответ 19.01.2018, 15:03:53
от dron