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&#8221; 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
        Administrator

          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
            Administrator

              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.