Ich habe in vielen Comment-Tags aus früheren Zeiten Urls innerhalb von größeren Textpassagen.
Da diese Urls nach einigen Jahren bei den allermeisten ohnehin nicht mehr gültig sind, möchte ich sie gerne entfernen.
Es könne mehrere Urls in einem Comment-Tag vorkommen und sie können an allen möglichen Positionen stehen, obwohl überwiegend das Textende betroffen ist.
Mein Gedanke ist, dass man sie vielleicht anhand folgender Kriterien aufstöbern und mit "Nichts" ersetzen könnte:
Sie beginnen ja mit "http://" und enthalten kein Leerzeichen. Wenn das 1. Leerzeichen nach "http://" auftaucht, ist die Url zuende.
Wie stellt man es an um zum gewünschten Ergebnis zu kommen?
Danke.
Ich habe die Ausdrücke mal in der Preview von Tag-Tag ausprobiert und im Prinzip funktioniert das.
Mit berücksichtigt werden jedoch nicht die Fälle, in denen die URL am Ende des Textes steht, also kein Leerzeichen mehr folgt.
Ein Schönheitsproblem ist, dass die CR/LFs nicht berücksichtigt werden, was dazu führt, dass wenn die URL separat in einer Zeile steht, anschließend eine Leerzeile vorhanden ist.
Diese ganzen Sonderfälle kann ich aus der Ferne natürlich nicht erahnen.
Du kannst ggf. das
?\s
entfernen, dann wird alles nach https.... gelöscht. Ob das dann aber wieder richtig ist...? Weiß ich nicht.
Reguläre Ausdrücke sind für mich zwar aufgrund der Kryptik und wahrscheinlich weil ich nur gezwungen bin, mich gelegentlich damit zu beschäftigen ein Graus, aber ich habe mich nochmal rein gekniet und bin zu folgendem Ergebnis gekommen:
$regexp(%comment%,'http://.*?[\A\D\x20]',)
Gibt es dagegen von den "Wissenden" irgendwelche Einwände oder Vorschläge von eleganteren Lösungen?