Quelltext Filtern

  • VB.NET

Es gibt 7 Antworten in diesem Thema. Der letzte Beitrag () ist von RodFromGermany.

    Quelltext Filtern

    Hallo, ich habe eine Frage.
    Wie Filter ich aus diesem Qulltext:

    Quellcode

    1. <script src="js/prototype.js" type="text/javascript"></script><script src="js/helper.js" type="text/javascript"></script>


    Die prototype.js und helper.js heraus?
    Ich habe es bereits so versucht:

    VB.NET-Quellcode

    1. WebBrowser1.Document.Body.InnerHtml = Replace(WebBrowser1.Document.Body.InnerHtml, "helper.js", "")


    funktioniert aber nicht.
    Willkommen im Forum. :thumbup:
    Irgendwann kommt hier jemand und schreibt RegEx hin.
    Ich würde ".js" suchen und von dort rückwärts zum "\".
    Also: IndexOf(...) und LastIndexOf(...). Und bedenke, dass Du überall einen Startindex vorgeben kannst, den musst Du dann inkrementieren.
    Und bedenke, dass die Länge von ".js" 3 ist.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Hi
    ist klar, dass bei diesem Text nicht gewährleistet ist, dass der Inhalt ".js" immer in einem Attribut src eines Script-Elements vorkommen muss? Somit ist diese Herangehensweise nicht sinnvoll. Verwende lieber IndexOf mit "<script src=""" und finde anschließend per IndexOf noch die Position des nächsten """"c heraus. Sind HTML-Codes eigentlich grundsätzlich System.Xml.XmlDocument (bzw. XmlTextReader)-konform? Wenn dem so wäre, könnte man den Text einfach elementbasiert auslesen und analysieren.

    Gruß
    ~blaze~
    Also so theoretisch?

    VB.NET-Quellcode

    1. WebBrowser1.Document.Body.InnerHtml.IndexOf("<script src=""")
    2. TextBox2.Text = WebBrowser1.Document.GetElementById("id").InnerText.ToString()
    3. WebBrowser1.Document.Body.InnerHtml.LastIndexOf("</script>")

    Funktioniert nur nicht.
    Ich finde auch keine Dokumentation darüber.
    AFAIK basiert HTML auf SGML/XML, allerdings unterscheidet es sich auch in einigen Feinheiten (oder zumindest muss es nicht zwingend XML-konform sein, um valide zu sein).

    Dein Vorhaben ließe sich aber mit dem HtmlAgilityPack sicher lösen.
    „Was daraus gefolgert werden kann ist, dass jeder intelligentere User sein Geld lieber für Bier ausgibt, um einen schönen Rausch zu haben, und nicht dieses Ranzprodukt.“

    -Auszug aus einer Unterhaltung über das iPhone und dessen Vermarktung.

    FlyingHead schrieb:

    VB.NET-Quellcode

    1. WebBrowser1.Document.Body.InnerHtml.IndexOf("<script src=""")
    IndexOf hat einen Rückgabewert (den betreffenden Index nämlich oder -1), den musst Du auswerten.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!