Prostfan: Entfernen aller Hyperlinks aus HTML-Dateien

Guten Abend zusammen

Ich habe folgendes Problem: Ich will aus ungefähr 500 HTML-Dateien sämtliche Hyperlinks (mehrere Tausend Verweise!!) entfernen, alle im Format <A HREF="indiv.pl?name=*"> (wobei * für eine beliebige Anzahl Zeichen steht).  Ich benutze üblicherweise die Freeware Proton, um die HTML-Dateien zu bearbeiten, hab es auch mit Word etc. probiert, in dem ich versuchte, Platzhalter zu verwenden und mit Suchen/Ersetzen diese Textstellen zu finden und zu löschen.

Weiss mir jemand Rat oder ein gutes Programm hierfür? Bin auch bereit, für ein solches Programm etwas zu bezahlen, würde mir ja viel Arbeit ersparen. Vielen Dank schon zum Voraus für jeden Tipp!

Oskar

  1. Hallo Oskar!

    Wenn Dir JavaScript hilft, dann nimm das. Such Dir mit getElementsByTagName alle Anker, Speichere den Textknoten darin temporär, schmeiß (removeChild) das Ankerchild weg und hänge den Textknoten an die Stelle des Ankers.

    Wahrscheinlich brauchst du alles Statisch, aber zumindest zur Laufzeit könntest Du die rauskriegen.

    Schönen Gruß

    Afra

    1. Wenn Dir JavaScript hilft, dann nimm das. Such Dir mit getElementsByTagName alle Anker, Speichere den Textknoten darin temporär, schmeiß (removeChild) das Ankerchild weg und hänge den Textknoten an die Stelle des Ankers.

      Ich kann mich täuschen, aber die stehen dann IMO noch immer im Quelltext, nur der Browser blendet sie aus, falls Javascript aktiviert ist.

      Ausserdem müssen dann auch alle HTML-Dateien geändert werden, also nicht sehr effektiv ...

      1. Hallo Multi!

        Ich kann mich täuschen, aber die stehen dann IMO noch immer im Quelltext, nur der Browser blendet sie aus, falls Javascript aktiviert ist.

        Klar sind sie noch im Quelltext. Wenn er sie aber in einer Klickpräse oder sonstwie verwenden will, völlig ausreichend. Ich schrieb daher auch dazu, dass ich nicht weiß, wie er es verwenden will.

        Und wenn die Seiten vernünftig aufgebaut sind, kann er das in irgendein inkludiertes JS einbinden. Dann muss er nicht jede Seite anfassen.

        Schönen Gruß

        Afra

  2. Weiss mir jemand Rat oder ein gutes Programm hierfür? Bin auch bereit, für ein solches Programm etwas zu bezahlen, würde mir ja viel Arbeit ersparen. Vielen Dank schon zum Voraus für jeden Tipp!

    Kann jede Shellfähige Scriptsprache (Bash, Perl, PHP ...)

    Datei einlesen, per RegExp alle Hyperlinks entfernen, Datei speichern. Dürfte mit nem Zehnzeiler zu lösen sein.

  3. Gudn!

    Weiss mir jemand Rat oder ein gutes Programm hierfür? Bin auch bereit, für ein solches Programm etwas zu bezahlen, würde mir ja viel Arbeit ersparen. Vielen Dank schon zum Voraus für jeden Tipp!

    Ich darf mal wieder InfoRapid Duchen & Ersetzen empfehlen.

    Beispielsweise findet das Programm mit <a href=".*"> sämtliche Links.

    Vielleicht konnte ich weiterhelfen...

    Gruß, Samoht

    --
    fl:| br:> va:) ls:< n4:( ss:) de:] js:| mo:}
    "Computer games don't affect kids; I mean if Pac-Man affected us as kids, we'd all be running around in darkened rooms, munching magic pills and listening to repetitive electronic music."
    (Marcus Alexander Brigstocke)
    1. Gudn!

      Weiss mir jemand Rat oder ein gutes Programm hierfür? Bin auch bereit, für ein solches Programm etwas zu bezahlen, würde mir ja viel Arbeit ersparen. Vielen Dank schon zum Voraus für jeden Tipp!

      Ich darf mal wieder InfoRapid Duchen & Ersetzen empfehlen.

      Beispielsweise findet das Programm mit <a href=".*"> sämtliche Links.

      Vielleicht konnte ich weiterhelfen...

      Gruß, Samoht

      Vielen Dank an alle für die Hilfe! Ich denke, dass dieses InfoRapid-Programm die Lösung wäre. Allerdings meldet es bei der Suche nach <a href=".*"> oder auch <a href="*">:

      "Es wurden keine Textstellen gefunden, die mit dem angegebenen Suchbegriff übereinstimmen."

      Mache ich etwas falsch?

      1. Gudn!

        Weiss mir jemand Rat oder ein gutes Programm hierfür? Bin auch bereit, für ein solches Programm etwas zu bezahlen, würde mir ja viel Arbeit ersparen. Vielen Dank schon zum Voraus für jeden Tipp!

        Ich darf mal wieder InfoRapid Duchen & Ersetzen empfehlen.

        Beispielsweise findet das Programm mit <a href=".*"> sämtliche Links.

        Vielleicht konnte ich weiterhelfen...

        Gruß, Samoht

        Vielen Dank an alle für die Hilfe! Ich denke, dass dieses InfoRapid-Programm die Lösung wäre. Allerdings meldet es bei der Suche nach <a href=".*"> oder auch <a href="*">:

        "Es wurden keine Textstellen gefunden, die mit dem angegebenen Suchbegriff übereinstimmen."

        Mache ich etwas falsch?

        Ist erledigt, ich hab's hingekriegt (musste noch "Mustervergleich" im Drop-Down-Menü auswählen). Nochmals vielen Dank für die Hilfe! Ihr seid spitze! :-)

  4. gudn tach!

    Ich habe folgendes Problem: Ich will aus ungefähr 500 HTML-Dateien sämtliche Hyperlinks (mehrere Tausend Verweise!!) entfernen, alle im Format <A HREF="indiv.pl?name=*">

    Ich benutze üblicherweise die Freeware Proton, um die HTML-Dateien zu bearbeiten,

    ich habe frueher auch viel mit proton gearbeitet. bin irgendwann auf vim umgestiegen, weil der alles kann, was proton kann aber eben auch viiiiiel mehr. auch dein problem koennte mit vim geloest werden.

    aber es gibt auch andere moeglichkeiten, z.b. das in perl geschriebene, auf regexp basierende, freie tool textre. es braucht keine installation und schreibt auch nix in die registry, sondern laeuft einfach so. unter windows und unter linux.</werbung>
    wenn du perl schon installiert hast, lad dir die datei textre.pl runter. wenn du kein perl installiert hast, dann textre.exe.

    zum suchen und ersetzen kommen regulaere ausdruecke wie in perl zum einsatz.
    der befehl, um alle verweise zu loeschen koennte lauten:
    textre "<a .*?>.*?</a>" "" --f=".html$" --r --t

    "<a .*?>.*?</a>" ist der suchausdruck
    ""               ist der ersetzausdruck (es wird hier also durch nix ersetzt)
    mit dem parameter f waehlt man dateien aus.
    mit dem parameter r gibt man an, dass auch unterverzeichnisse durchwuehlt werden sollen.
    mit dem parameter t laesst man sich erst mal die aenderungen anzeigen, ohne dass wirklich was ersetzt wird.

    wenn nur die links, nicht aber die jeweiligen verlinkten texte ersetzt werden sollen, dann waere das via back-reference moeglich:
    textre "<a .*?>(.*?)</a>" "$1" --f=".html$" --r --t

    beachte aber: das setzt verschiedenes voraus: z.b. muss der code valide sein. wenn end-tags im code fehlen, passiert _irgendwas_. ebenso wird auch z.b. javascript-code durchsucht, sodass sowas wie "document.write('<a aetsch');" oder auch sowas wie "if(b<a) foo;" zu problemem fuehren koennte. deshalb immer erst mit dem t-parameter testen.

    prost
    seth

  5. Guten Abend zusammen

    Ich habe folgendes Problem: Ich will aus ungefähr 500 HTML-Dateien sämtliche Hyperlinks (mehrere Tausend Verweise!!) entfernen, alle im Format <A HREF="indiv.pl?name=*"> (wobei * für eine beliebige Anzahl Zeichen steht).  Ich benutze üblicherweise die Freeware Proton, um die HTML-Dateien zu bearbeiten, hab es auch mit Word etc. probiert, in dem ich versuchte, Platzhalter zu verwenden und mit Suchen/Ersetzen diese Textstellen zu finden und zu löschen.

    Weiss mir jemand Rat oder ein gutes Programm hierfür? Bin auch bereit, für ein solches Programm etwas zu bezahlen, würde mir ja viel Arbeit ersparen. Vielen Dank schon zum Voraus für jeden Tipp!

    Oskar

    Hi, das kannst du auch automatisieren, manuell macht das keinen Sinn, gibt dafür den replace Befehl in PHP, einfach den Code einfügen und schon ist alles weg wenn du es mit nichts ersetzt, denke aber dass due die html auf php umbauen musst, kannst aber die html Endung lassen und php in den html Code einfügen.