Regex - alle HTML-Tags entfernen bis auf den IMG Tag

  • VB.NET

Es gibt 8 Antworten in diesem Thema. Der letzte Beitrag () ist von simpelSoft.

    Regex - alle HTML-Tags entfernen bis auf den IMG Tag

    Hallo,

    kann mir bitte ein Regex-Spezi bei folgender Aufgabe helfen?
    Aus einer HTML-Seite sollen alle HTML-Tags entfernt werden bis auf die Bild-Tags.
    Die Bilder liegen in folgendem Format vor: <img src="http://beliebigerhost/beliebigesbild.jpg" border="0" alt="[Bild: beliebigesbild.jpg]" />
    Geht das überhaupt mit Regex?

    nafets schrieb:

    Wäre es denn ein Problem einfach die Bild-Tags rauszusuchen anstatt den Rest zu löschen?


    Der Rest (Text) muss auch erhalten bleiben, nur ohne HTML-Tags.
    Es handelt sich um viele Berichte, die ursprünglich in einem Forum gepostet wurden und Text und Bilder enthalten.
    Nun sollen diese Berichte in ein Wordpress-Blog migriert werden.
    Da gibt es schöne Importer, die z.B. eine .CSV Datei einlesen und den Artikel daraus machen.
    Dazu brauche ich den reinen Text inkl. der kompletten Bilder Tags.
    Alle Berichte aus dem Forum habe ich bereits als HTML-Dateien vorliegen und muss diese nun anpassen.

    *Nur zur Anmerkung falls es Bedenken gibt, das ist kein Content-Klau, sondern nur eine Mirgration von MyBB-Forum nach Wordpress vom gleichen Urheber und ganz legal.

    nafets schrieb:

    Könntest du vielleicht einen mittelgroßen Ausschnitt posten

    Klar - ich denke, das sollte kein Problem sein, da es ja im Forum auch frei zugänglich war.
    Anbei als Anhang ein Thread als HTML-Datei.

    Anzumerken wäre vielleicht noch, dass es nur um die Postings eines Users geht - dem "Armin777".
    Der Thread besteht ja auch aus Antworten anderer User und die sollen ja nicht mit verarbeitet werden.
    Das erwähne ich nur, falls das für den Regex-Teil irgenwie wichtig wäre.
    Die Postings fangen immer mit <div class="author"> an und in dieser Zeile steht dann auch der Username. Und das Tag wird dann nach dem Posting natürlich mit </div> wieder geschlossen.

    Vielleicht ist ja auch meine Herangehensweise falsch? Es gibt doch auch eine HTML-Lib für .NET (Name entfallen) - vielleicht wäre das der bessere Weg?
    Du merkst, ich tappe noch ein wenig im Dunklen, wie ich die ganzen Texte am besten aufarbeite.

    Lieben Dank, dass Du Dich dafür interessierst!

    PS: achso noch etwas - ich verdiene mit dieser Migration kein Geld.

    PPS: da ich heute erst damit angefangen habe, ist bis jetzt nur ein kleines Konsolenprogramm entstanden, das nichts weiter tut als alle HTML-Dateien in einem Verzeichnis nacheinander zu öffnen und zeilenweise auszulesen. Wenn gewünscht, kann ich gern den Fortschritt dokumentieren.

    Spoiler anzeigen

    C#-Quellcode

    1. namespace gofimporter
    2. {
    3. class Program
    4. {
    5. static void Main(string[] args)
    6. {
    7. string curDir = string.Concat(Directory.GetCurrentDirectory(), @"\");
    8. foreach (string strFile in Directory.GetFiles(curDir))
    9. {
    10. using (StreamReader sr = new StreamReader(strFile, Encoding.Default))
    11. {
    12. StringBuilder content = new StringBuilder();
    13. while (!sr.EndOfStream)
    14. content.AppendLine(sr.ReadLine());
    15. Console.WriteLine(content.ToString());
    16. }
    17. }
    18. Console.ReadKey();
    19. }
    20. }
    21. }

    Dateien
    • thread-10200.zip

      (7,83 kB, 116 mal heruntergeladen, zuletzt: )

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „simpelSoft“ ()

    Ich verstehe jetzt irgendwie nicht mehr genau, wie du dir das vorstellst: Wenn ich alle anderen Tags entferne, gehen auch z.B. die Bilder weg, da diese ja in dem Link-Tag drin sind. Das lässt sich also nicht so einfach mit Regex umsetzen denke ich.

    nafets schrieb:

    wie du dir das vorstellst


    Also wenn von den Postings vom Armin777 folgendes übrig bliebe, könnte ich prima die CSV-Datei generieren:
    Spoiler anzeigen

    Quellcode

    1. Armin777 19.06.2014 17:11
    2. Heute war mal ein ganz selten auftauchendes Gerät auf meinem Tisch: ein Restek Metric von 1994. Das ist ein FM-Tuner (mit Drehkondensator und Frequenzzähler) den der bekannte, aber leider vor einigen Jahre verstorbene, Reinhard Wieschhoff van Rhijne entwickelt hat. Der Metric ist der Nachfolger des FM-3003, der wiederum den legendären FM-2002 von Klein &amp; Hummel ablöste. Alles absolute Weltklassetuner.
    3. Das hier vorgestellte Exemplar benötigte nur ein klein wenig Feinabstimmung, ein wenig Chromputz und vor allem musste die Tuningradachse wieder gangbar gemacht werden. Zudem gab es noch ein kleines Kontaktproblem am Antennenumschalter (A/B). Danach konnte fotografiert werden:
    4. <img src="http://abload.de/img/restek-metric-1-721605js1c.jpg" border="0" alt="[Bild: restek-metric-1-721605js1c.jpg]" />
    5. Innenansicht, wie bei Restek üblich dicke Epoxyd-Platinen und unten drunter hängt ein dicker fetter, aber voll gekapselter Drehkondensator.
    6. Sehr sauber aufgebaut und (beinahe) alles funktioniert wie am ersten Tag.
    7. <img src="http://abload.de/img/restek-metric-5-72160zzsf4.jpg" border="0" alt="[Bild: restek-metric-5-72160zzsf4.jpg]" />
    8. Von aussen gibt es schwarze Aluminiumstrangprofile und vorne eine hochglanzverchromte Front (5mm stark).<br />
    9. <img src="http://abload.de/img/restek-metric-2-72160zcs6a.jpg" border="0" alt="[Bild: restek-metric-2-72160zcs6a.jpg]" />
    10. Die Front ist simpel aufgebaut, es gibt nur 5 Drucktasten und ein Tuningrad (das wiegt einzeln schon über 500 Gramm!). Den Rest machen drei große Anzeigen aus, die einheitlich rot leuchten, links die Frequenz, in der Mitte die Ratio-Mittenanzeige, rechts die Feldstärke. Man kommt mit der Bedienung auf Anhieb intuitiv klar. Der Empfang ist überwältigend.
    11. <img src="http://abload.de/img/restek-metric-3-72160rus0p.jpg" border="0" alt="[Bild: restek-metric-3-72160rus0p.jpg]" />
    12. Hinten gibt es zwei NF-Ausgänge (Cinch und XLR) sowie zwei Koax-Antennenbuchsen, per Relais umschaltbar.
    13. <img src="http://abload.de/img/restek-metric-6-721609xsuw.jpg" border="0" alt="[Bild: restek-metric-6-721609xsuw.jpg]" />
    14. Diese Geräte wurden in relativ kleiner Serie in Handarbeit in Fuldabrück bei Kassel hergestellt. Sie waren sündhaft teuer und das sind sie gebraucht auch noch. Bei on/off gibt es momentan einen für 2.275,- Euro. Wer also Gefallen dran gefunden haben sollte...
    15. <img src="http://abload.de/img/restek-metric-7-721600ssv8.jpg" border="0" alt="[Bild: restek-metric-7-721600ssv8.jpg]" />
    16. So, das war es mal wieder für heute!
    17. <img src="http://old-fidelity.de/images/smilies/shy.gif" style="vertical-align: middle;" border="0" alt="Shy" title="Shy" />