• Bitte schaltet eure Ad Blocker aus. SLinfo kann nur betrieben werden, wenn es durch Werbung Einnahmen erzielt. Vielen Dank!!
  • Wir freuen uns, wenn du dich in unserem Forum anmeldest. Bitte beachte, dass die Freigabe per Hand durchgeführt wird (Schutz vor Spammer). Damit kann die Freigabe bis zu 24 Stunden dauern.
  • Wir verwenden Cookies, um Inhalte und Anzeigen zu personalisieren, Funktionen für soziale Medien anbieten zu können und die Zugriffe auf unsere Website zu analysieren. Sie geben Einwilligung zu unseren Cookies, wenn Sie unsere Webseite weiterhin nutzen.

http_response und das Parsing

Zeus Edelman

Superstar
Ahoi,

ausnahmsweise habe ich jetzt nach Jahren mal eine Script Frage.

Ich wollte mich drann setzen, einen http output den ich mir von einer website hole, zu parsen. Im Grunde ist die Aufgabenstellung so: ich möchte nur einen bestimmten String aus dem ganzen Text erhaschen.

Jetzt pupst mir ein simples Script zb folgendes in SL raus:

(Ganz viel Zeugs...)
[02:22] Object: <meta content='https://tollewebsite.com/tolleseite.html' property='og:url'/>
[02:22] Object: <meta content='URL' property='og:title'/>
[02:22] Object: <meta content=' XXX11111111222223333334532XXX' property='og:description'/>
(noch mehr Zeilen mit Zeugs...)

' XXX11111111222223333334532XXX' ist das wo ich rann will, und das Ergebnis was ich im Script brauche um damit weiterzuarbeiten, ist 11111111222223333334532

Meine erste Idee war jetzt das ganze einzupacken, hier XXX vorher und nachher, da ich in meinem jugendlichen Leichtsinn dachte "hey, LSL kann sicherlich sowas ähnliches wie "schmeiss vor dem 1. XXX alles weg, nach dem 2. XXX auch alles weg, und schmeiss dann beide XXX weg", am Arsch. Dann wäre ich ja jetzt schon fertig :(

Ich kenne auch nicht immer die genaue Position des gesuchten Wertes im gesamten Output. Den gesuchten Inhalt kann ich in so fern frei bestimmen, dass ich auch mit Markern arbeiten kann (hier halt XXX). Der Wert an sich kann und soll sich ändern (ist ja der Sinn dahinter).

Irgendeiner einen Vorschlag oder Beispiel Code der mich am ehesten zum Ziel bringt? Oder muss ich den ganzen String jetzt echt 30x rumwerfen und beschnippeln und zurück und kreuz und quer durch 20 Funktionen drücken mit Voodoo und Akrobatik, um an den gesuchten Inhalt zu kommen? Kann ja nicht sein.

Bevor ich mir jetzt stundenlang die Finger breche (oder einfach nur zu doof bin gerade die Funktion zu finden die ich suche, bin hundemüde), frage ich doch mal hier ;)

Zu Hülfe!!!

Und bevor jetzt alle Angst bekommen: nein, hat nix mit Gor zu tun. Versprochen ;)
 
Zuletzt bearbeitet:
Dieser Befehl schmeisst deine XXX weg.
list parsed = llParseString2List(string data, ["XXX"], []);

Jetzt musst du nur noch den Stellenwert kennen.
string output = llList2String(parsed, 0);

0 entspricht dem ersten Eintrag deiner Liste.
1 dem zweiten
2 dem dritten
u.s.w.

LG
Dae
 
Danke, aber da war ich auch schon.

Ich möchte das erste XXX UND alles davor wegschmeissen.
Und dann das zweite XXX UND alles danach weg.

Vielleicht habe ich mich zu kompliziert ausgedrückt.

Ich bekomme sowas wie:

"blahblhablubbblaberlaberXXXtollertextXXXblahblahblhablubb"

Als Ergebnis brauche ich nur "tollertext", egal was vor und nach den XXX steht.
 
87f8ab4d67b144c0864782392d812c63.gif


Ich sollte mich nur an das Thema setzen wenn ich ausgeschlafen habe...
Danke
 

Users who are viewing this thread

Zurück
Oben Unten