AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

URL Filter

Ein Thema von blooddog_90 · begonnen am 4. Okt 2009 · letzter Beitrag vom 4. Okt 2009
Antwort Antwort
blooddog_90

Registriert seit: 23. Sep 2007
24 Beiträge
 
Turbo Delphi für Win32
 
#1

URL Filter

  Alt 4. Okt 2009, 10:54
Guten Morgen,

gibt es eine Möglichkeit eine URL aus einem Text herauszufiltern?
Am besten auch mehrere?
Vielen Dank für eure Hilfe =]
  Mit Zitat antworten Zitat
generic

Registriert seit: 24. Mär 2004
Ort: bei Hannover
2.416 Beiträge
 
Delphi XE5 Professional
 
#2

Re: URL Filter

  Alt 4. Okt 2009, 10:59
Ja gibt es. Der übliche Weg ist mit einen Regulären Ausdruck.

Nach dem Ausdruck suchst du mal am besten im Internet.
Da gibt es viele Varianten.
Coding BOTT - Video Tutorials rund um das Programmieren - https://www.youtube.com/@codingbott
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.771 Beiträge
 
Delphi 10.4 Sydney
 
#3

Re: URL Filter

  Alt 4. Okt 2009, 11:03
.. oder auf die mühsame Art mit Delphi-Referenz durchsuchenpos und Delphi-Referenz durchsuchencopy
oder mit einem html Parser.

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
Benutzerbild von Lannes
Lannes

Registriert seit: 30. Jan 2005
Ort: Münster
745 Beiträge
 
Delphi 3 Professional
 
#4

Re: URL Filter

  Alt 4. Okt 2009, 11:15
Hallo,

oder mit Delphi-Referenz durchsuchenMSHTML
MfG Lannes
(Nichts ist nicht Nichts) and ('' <> nil ) and (Pointer('') = nil ) and (@('') <> nil )
  Mit Zitat antworten Zitat
Benutzerbild von toms
toms
(CodeLib-Manager)

Registriert seit: 10. Jun 2002
4.648 Beiträge
 
Delphi XE Professional
 
#5

Re: URL Filter

  Alt 4. Okt 2009, 12:04
Beispiel mit Indy (IdHTTP) und MSHTML: Zeigt alle Links von google.com in einer ListBox an.

Delphi-Quellcode:
uses
  MSHTML, IdHTTP;

procedure ExtractLinks(doc: IHTMLDocument2; s: TStrings);
var
  ec: IHTMLElementCollection;
  e: IHTMLElement;
  i: Integer;
  url: Variant;
begin
  ec := doc.links;
  for i := 0 to Pred(ec.length) do
  begin
    e := ec.item(i, 0) as IHTMLElement;
    url := VarToStr(e.getAttribute('href', 0));
    if url <> 'then
      s.Add(url);
  end;
end;

function GetDocument(const markup: WideString): IDispatch;
var
  doc: OleVariant;
begin
  Result := CoHtmlDocument.Create;
  doc := Result;
  doc.Open;
  doc.Write(markup);
  doc.Close;
end;

procedure GetLinksFromURL(url: string; s: TStrings);
var
  doc: IHTMLDocument2;
  IdHTTP: TIdHTTP;
begin
  Assert((url <> '') and Assigned(s));
  IdHTTP := TIdHTTP.Create;
  try
    IdHTTP.HandleRedirects := True;
    IdHTTP.Request.UserAgent :=
      'User-agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)';
    doc := GetDocument(IdHTTP.Get(url)) as IHTMLDocument2;
    if Assigned(doc) then
      ExtractLinks(doc, s);
  finally
    IdHTTP.Free;
  end;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
  sl: TStringList;
begin
  sl := TStringList.Create;
  try
    GetLinksFromURL('http://www.google.com', sl);
    ListBox1.Items.Assign(sl);
  finally
    sl.Free;
  end;
end;
Thomas
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:58 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz