Der folgende Beitrag wurde am 11. 07. 2007, 17:02 Uhr von Martin Hein veröffentlicht.
Hallo Forum,
ich raff das immernoch nicht mit den regulären Ausdrücken.
Kann mir da mal jemand helfen ?
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.
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=\"#");
aber das Ergebnis ist:
----------------------
string = '<p><a href="#Beitrag zur freiwilligen Krankenversicherung" class="interner_link" title="Beitrag zur freiwilligen Krankenversicherung"><p>';
... es wird also die Hälfte verschluuckt, was ich mir nicht erklären
kann.
Kann mir das jemand erklären ?
beste gruesse,
martin
Der folgende Beitrag wurde am 11. 07. 2007, 17:09 Uhr von seth_not@home veröffentlicht.
gudn tach!
> nach meine Verständnis müsste das so lauten:
>
> string.replace(/href=\".+#/g, "href=\"#");
>
> aber [...] es wird [...] die Hälfte verschluuckt, was ich mir nicht erklären kann.
>
> Kann mir das jemand erklären ?
selfhtml. ;-)
prost
seth
Der folgende Beitrag wurde am 11. 07. 2007, 17:14 Uhr von Mathias Brodala veröffentlicht.
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
Der folgende Beitrag wurde am 11. 07. 2007, 17:26 Uhr von Martin Hein veröffentlicht.
Hallo Forum,
aha, "gierig" ist das Stichwort.
Danke für den Link, Danke für die Lösung.
beste gruesse,
martin
© 1998-2013 SELFHTMLImpressumSoftware: Classic Forum 3.4