Startseite › Foren › Deutsches LiveCode-Forum › MatchText, RegEx und HTML
Schlagwörter: regex matchtext html
- Dieses Thema hat 3 Antworten und 2 Teilnehmer, und wurde zuletzt aktualisiert vor 7 Jahren, 3 Monaten von Klaus Major.
-
AutorBeiträge
-
-
August 8, 2017 um 12:57 Uhr #1487
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”>
Frage: wie kann ich den Text “http://xml.zeit.de/autoren/B/Andrea_Backhaus/index” 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 -
August 9, 2017 um 15:31 Uhr #1519
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
-
August 10, 2017 um 09:17 Uhr #1527
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”>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?
-
August 10, 2017 um 09:45 Uhr #1529
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 😉
-
-
AutorBeiträge
- Du musst angemeldet sein, um auf dieses Thema antworten zu können.