Показать сообщение отдельно
  #1  
Старый 30.09.2011, 14:45
MrDiG MrDiG вне форума
Начинающий
 
Регистрация: 05.10.2010
Сообщения: 112
Репутация: 1227
По умолчанию Вопрос по конкретной ф-ции парсинга

Есть у меня такая ф-ция для парсинга. Она использует VBScript_RegExp_55_TLB.

Код:
function TForm1.Parse(page, pattern: string): string;
var
  Reg: TRegExp;
  mc: MatchCollection;
  m: Match;
  sm: SubMatches;
  i:Integer;
  s,r:string;


begin

  Reg := TRegExp.Create(Self);
  try
    //Reg.Pattern := 'name="s" value="(.*)"';
    s:=page;
    Reg.Pattern:=pattern;
    Reg.IgnoreCase:=true;
    Reg.Global:=true;
    Reg.Multiline:=true;
    mc:=Reg.Execute(s) as MatchCollection;
    for I := 0 to mc.Count - 1 do  begin
      //ShowMessage(inttostr(mc.Count));
      m:=mc[i] as Match;
      sm:=m.SubMatches as SubMatches;

//Вроде тут нужно что-то изменить      
//ShowMessage(VarToStr(sm[i]));

      r:=trim(VarToStr(sm[0]));
      Result:=r;
      end;

  finally
    m:=nil;
    sm:=nil;
    mc:=nil;
    Reg.Free;
  end;
end;

Используется очень просто:
Код:
main:=Parse(html,'<title>(.*)</title>');
Два парамета - строка для поиска и паттерн.

Проблема в том, что она ищет лишь одно значение. У меня задача - получить урлы ВСЕХ картинки из небольшого куска html кода. Подскажите, как заставить её отдавать массив ссылок на картинки (<img src="(.*)")
Либо возможно есть альтернативное готовое решение по парсингу картинок?
Ответить с цитированием