Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.10.2015, 19:36   #1
nibufep
Форумчанин
 
Регистрация: 02.08.2014
Сообщений: 476
По умолчанию Распарсить html блок

Есть 2 вида блоков на сайте

1:
Цитата:
<div class="custom-poster" style="background:lightgreen">
<a href="http://">
<img src="http://" />Текст
</a>
2:
Цитата:
<div class="custom-poster" >
<a href="http://">
<img src="http://" />Текст
</a>
Мне нужно получить "Текст" но только из тех блоков где у div style="background:lightgreen"

пробовал написать регулярку:
Цитата:
lightgreen">(.*?)src="(.*?)>(.*?)</a>
но она не хочет работать....
nibufep вне форума Ответить с цитированием
Старый 14.10.2015, 15:59   #2
SQLPowerUser
Форумчанин
 
Аватар для SQLPowerUser
 
Регистрация: 19.01.2015
Сообщений: 158
Смех Один из вариантов

Код:
procedure TForm1.Button1Click(Sender: TObject);
var
  html_text, s: string;
  p: Integer;
begin
  html_text := '<div class="custom-poster" style="background:lightgreen"> ' +
  '<a href="http://"> ' +
  '<img src="http://" /> Текст ' +
  '</a> </div>';

  p := Pos('background:lightgreen',html_text);
  if  p = 0 then exit;

  html_text := copy(html_text, 1, Pos('</a>',html_text)-1);
  s := '';

  for p := Length(html_text) downto 1 do
    if html_text[p] <> '>' then s := html_text[p] + s else break;

  Memo1.Text := Trim(s);
end;
SQLPowerUser вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Распарсить таблицу nibufep Общие вопросы Delphi 39 08.01.2016 04:39
распарсить сторку bulldog5293 Общие вопросы Delphi 9 18.02.2011 23:57
Распарсить строку bulldog5293 Работа с сетью в Delphi 7 18.12.2010 19:25
Распарсить HTML Табурет Общие вопросы C/C++ 11 02.03.2008 19:26