Hallo Martin.
string = '<p><a href="http://dcbkk16.home.net/_admin/#Beitrag zur freiwilligen Krankenversicherung" class="interner_link" title="Beitrag zur freiwilligen Krankenversicherung"><p><a href="http://dcbkk16.home.net/_admin/#Beitrag zur freiwilligen Krankenversicherung" class="interner_link" title="Beitrag zur freiwilligen Krankenversicherung">';
Ich möchte alle Links mit "#" dahingehend verändern,
dass sie mit "#" beginnen.
string = string.replace('http://dcbkk16.home.net/_admin/', '');
Reguläre Ausdrücke sind hier überflüssig.
Ich suche also nach allen 'href="<irgendwas>#' und möchte sie ersetzen durch 'href="#'
nach meine Verständnis müsste das so lauten:
string.replace(/href=\".+#/g, "href=\"#");
Also die Zeichenkette „href="“, dann irgendetwas so viel wie möglich und irgendwann einmal ein „#“.
aber das Ergebnis ist:
string = '<p><a href="#Beitrag zur freiwilligen Krankenversicherung" class="interner_link" title="Beitrag zur freiwilligen Krankenversicherung"><p>';
Stimmt exakt.
... es wird also die Hälfte verschluuckt, was ich mir nicht erklären
kann.Kann mir das jemand erklären ?
Siehe oben. Dein Muster macht nur, was es soll. Es ist momentan einfach noch zu gierig, was du abstellen kannst:
string.replace(/href=\"([^#]+)#/g, "href=\"#");
Hier beschränkst du also die Menge der Zeichen vor dem „#“ auf alles AUSSER diesem Zeichen, weshalb hier schrittweise ausgeführt wird.
Einen schönen Mittwoch noch.
Gruß, Mathias
ie:% fl:| br:< va:) ls:& fo:) rl:( n4:~ ss:) de:] js:| mo:| zu:)
debian/rules