String filtern

  • Hallo Leutchen,

    ich habe ein Problem mit StringRegExpReplace.

    Normallerweise habe ich immer erfolgreich einen Bereich mit

    Code
    $String = StringRegExpReplace($String, '<noscript([^%]*?)</noscript>', '')

    filtern können.

    Jetzt habe ich allerdings in einer Zeile folgendes stehen:

    Code
    Das Wetter spielt verrückt.<noscript title="Wiki" class="small"> (&lt;a href="/info/DE/1.Das1%2C1" target="_blank"&gt;1Das 1,1&lt;/a&gt;; &lt;a href="/info/DE/1.Wetter1%2C1" target="_blank"&gt;1Wetter 1,1&lt;/a&gt;; &lt;a href="/info/DE/1.spielt1%2C1" target="_blank"&gt;1spielt 1,1&lt;/a&gt;; &lt;a href="/info/DE/verr%C3%BCckt1%2C1" target="_blank"&gt;verrückt 1,1&lt;/a&gt;)</noscript>

    Hierbei reagiert aber StringRegExpReplace nicht.

    Leider bin ich nur ein Anfänger was Autoit angeht und lerne nur Stückweise langsam dazu. Ich versteh jetzt nicht wie ich diesen Bereich trotzdem herausfiltern kann. Und finde auch nicht wirklich etwas im Forum was mir hilft.

    Vielleicht ist hier jemand der mir helfen kann, da wäre ich demjenigen sehr dankbar?!

  • Na klar, das kann ja auch nicht funktionieren. Das Pattern besagt ausgeschrieben (und etwas vereinfacht).... Suche nach "<noscript" gefolgt von null oder mehr beliebigen Zeichen bis auf "%" gefolgt von "</noscript>". Es hakt an dem ausgeschlossenen Prozentzeichen, was ja ganz klar durch das URL-Encoding vorkommt (bspw. "/info/DE/1.Das1%2C1"). Wenn du [^%] (alles bis auf "%") durch . (beliebiges Zeichen) ersetzt, klappt das hier.