24. september 2002 - 18:27Der er
6 kommentarer og 1 løsning
Et regexp som erstatter forekomster af > og <
Hej
Jeg har brug for hjælp til 3 regexp:
Jeg har en streng der kan indeholde PHP I denne streng vil jeg gerne have alle forekomster af > og < som står indenfor et <?php...?> eller <?...?> tag erstattet af < og >
Derudover vil jeg gerne have hjælp til et regexp der erstatter alle forekomster af <//(en vilkårlig streng//> med <img src="/editor/i3/pp.gif"><!--TAG:(tekststrengen igen)-->
Endelig vil jeg gerne have hjælp til et regexp der konverterer dette IMG tag fra før tilbage til formen <//(tekststreng)//>
var txt = 't1<//t2//>t3<//t4//>t5'; var result = txt.replace( /<\/\/([^\/]+?)\/\/>/g, '<img src="/editor/i3/pp.gif"><!--TAG:($1)-->' );
Nummer 3: txt = 't1<img src="/editor/i3/pp.gif"><!--TAG:(t2)-->t3' + '<img src="/editor/i3/pp.gif"><!--TAG:(t4)-->t5';
result = txt.replace( /<img src="\/editor\/i3\/pp.gif"><!--TAG:\(([^\(]+)\)-->/g, '<//$1//>' );
Forklaring på #: I PHP funktionerne preg_xxx skal selve regex-teksten indeholde start- og slut-delimiter. Som regel vælger man / men i tilfældet her valgte jeg # for at undgå problemer med de mange / i selve udtrykket. Dette virker tilsyneladende ikke i Javascript, og resultatet er som du ser en \ før hver / i udtrykket.
Mvh Jesper Naur
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.