MatchText, RegEx und HTML

Startseite Foren Deutsches LiveCode-Forum MatchText, RegEx und HTML

Schlagwörter: 

Ansicht von 3 Antwort-Themen
  • Autor
    Beiträge
    • #1487
      Torsten
      Teilnehmer

      Hi,

      ich möchte aus einer HTML-Datei bestimmte Daten herauslesen, z.b. den Autor eines Textes. Im HTML-Code steht dabei u.a. folgendes:

      <meta property=“article:author“ content=“http://xml.zeit.de/autoren/B/Andrea_Backhaus/index“&gt;

      Frage: wie kann ich den Text „http://xml.zeit.de/autoren/B/Andrea_Backhaus/index&#8220; automatisch herausfiltern?

      Soweit ich bisher vorgedrungen bin, bräuchte ich MatchText und einen passenden regulären Ausdruck, um das Muster zu identifizieren und den Text dazwischen rauszufischen. Hat damit von euch jemand Erfahrungen?

      Im Prinzip könnte ich das Problem auch mittels SetItemDelimiter lösen, aber vielleicht gibt es noch was Eleganteres in einem Rutsch, sprich Zeile.

      Beste Grüße
      Torsten

    • #1519
      Klaus Major
      Verwalter

      Hi Torsten,

      das hier wäre vielleicht ein Startpunkt:

      on mouseUp
         put url("http://xml.zeit.de/autoren/B/Andrea_Backhaus/index") into tHTML
         set the htmltext of fld 1 to textdecode(tHTML,"Native")
      end mouseUp

      Liefert mir auf jeden Fall NUR den Text. 🙂

      Gruß

      Klaus

    • #1527
      Torsten
      Teilnehmer

      Hallo Klaus,

      ich habe mich missverständlich ausgedrückt: ich habe eine HTML-Seite auf der der ganze Code steht, wie z.B. http://www.zeit.de/politik/ausland/2017-08/syrien-un-sicherheitsrat-carla-del-ponte-ruecktritt-baschar-al-assad

      In diesem Text steht auch der Link zur Homepage der Autorin in Zeile 174:
      <meta property=“article:author“ content=“http://xml.zeit.de/autoren/B/Andrea_Backhaus/index“&gt;

      Jetzt suche ich einen eleganten Weg aus dem kompletten HTML-Text das Muster: <meta property=“article:author“ content=“LINK“> so zu extrahieren, das ich nur den LINK bekomme.

      Ein Weg ist:

      
      put field "htmlData" into tHtml
      set the itemdelimiter to ("<meta property=" & quote & "article:author" & quote & " content=" & quote)
      put item 2 of tHtml into tExtraction
      set the itemdelimiter to (quote & ">")
      put item 1 of tExtraction into field "Extraction"
      

      Das Ganze werde ich dann wohl einfach als Stack-Handler machen, bei dem die Parameter der HTML-Text, der Tag-Start und das Tag-Ende sind. Ist vielleich auch schneller als eine komplexe RegEx?

    • #1529
      Klaus Major
      Verwalter

      Jup, „itemdelimiter“, so würde ich es dann wohl auch machen.

      Leider habe ich von RegEx keinen Plan, das ist und bleibt ein völliges Mysterium für mich 😉

Ansicht von 3 Antwort-Themen
  • Du musst angemeldet sein, um auf dieses Thema antworten zu können.