/ Forside / Teknologi / Udvikling / Java Scripts / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Java Scripts
#NavnPoint
molokyle 5410
Klaudi 2799
smorch 2439
kim 1360
Harlekin 1134
bentjuul 984
gibson 800
severino 695
Random 675
10  konsulent.. 626
Erstat med regular expression
Fra : N9


Dato : 04-05-05 11:03

Hej

Kan man replace følgende kode med javascript til at indholde noget andet??

Tekst = "<span class=cssTekst>hej det er en test</span>"

output = "hej det er en test"

Selve funktionaliteten i expression er at fjerne al <span> +</span>.

kan det lade sig gøre???

På forhånd takker

Hilsen

N9



 
 
Jens Gyldenkærne Cla~ (04-05-2005)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 04-05-05 11:47

N9 skrev:

> Selve funktionaliteten i expression er at fjerne al <span> +</span>.
>
> kan det lade sig gøre???

Ja - med regulære udtryk som du selv er inde på. Jeg har lavet en
funktion i asp der netop kan klare det ønskede:
<http://gyros.dk/usenet/asp/regex_html.asp> (fjernElement).

Den kan formentlig forholdsvist enkelt omskrives til javascript

Javascript anvender så vidt jeg husker en syntaks som følgende:

   s/pattern/replacepattern/modifiers

s = substitute (erstat)
pattern er det match-pattern du skal erstatte
replacepattern er det erstatningsmønster der skal anvendes
modifiers er parametre som fx g = global og i = case insensitive.

VbScripts backreferencer ($1-$9) skal nok bare skrives som \1-\9, mens
lazy-udtrykket :? vist er det samme.

Jeg vil gætte på at du kan bruge følgende udtryk:

   s/<(span)(:?\s+[^>]*)*>(.*?)</\1>/\3/gi;

- men det er aldeles utestet.

--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

Benny Nissen (04-05-2005)
Kommentar
Fra : Benny Nissen


Dato : 04-05-05 12:57

Jens Gyldenkærne Clausen wrote:
> N9 skrev:
>
>
>>Selve funktionaliteten i expression er at fjerne al <span> +</span>.
>>
>>kan det lade sig gøre???
>
>
> Ja - med regulære udtryk som du selv er inde på. Jeg har lavet en
> funktion i asp der netop kan klare det ønskede:

Er der ikke noget i javascript (eller for den sags skyld asp) der svarer
til php's strip_tags(); ?

--
Benny

Lasse Reichstein Nie~ (04-05-2005)
Kommentar
Fra : Lasse Reichstein Nie~


Dato : 04-05-05 20:10

Jens Gyldenkærne Clausen <jens@gyros.invalid> writes:

[Fjern <span..> og </span> tags]
> Ja - med regulære udtryk som du selv er inde på. Jeg har lavet en
> funktion i asp der netop kan klare det ønskede:
> <http://gyros.dk/usenet/asp/regex_html.asp> (fjernElement).
>
> Den kan formentlig forholdsvist enkelt omskrives til javascript

---
function removeSpan(string) {
return string.replace(/<\/?span\b[^>]*>/gi,"");
}
---
> Javascript anvender så vidt jeg husker en syntaks som følgende:
>
>    s/pattern/replacepattern/modifiers

Godt forsøg, men det er altså Perl-syntax. :)

Det er:
string.replace(/pattern/modifiers,"replace")

> Jeg vil gætte på at du kan bruge følgende udtryk:
>
>    s/<(span)(:?\s+[^>]*)*>(.*?)</\1>/\3/gi;
>
> - men det er aldeles utestet.

Overkill, og virker ikke på nestede span-elementer. Man kan bare
fjerne alle instanser af <span...> og </span>, som kan matches
med regexp'en:
/<\/?span\b[^>]*>/gi

Altså
et "<"
nul eller en "/"
"span"
og ordet stopper her, så ikke fx "spand"
og resten indtil den første ">"
og ">"'en selv.

/L
--
Lasse Reichstein Nielsen - lrn@hotpop.com
DHTML Death Colors: <URL:http://www.infimum.dk/HTML/rasterTriangleDOM.html>
'Faith without judgement merely degrades the spirit divine.'

Jens Gyldenkærne Cla~ (05-05-2005)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 05-05-05 20:16

Lasse Reichstein Nielsen skrev:

> Godt forsøg, men det er altså Perl-syntax. :)

Nå ja - det var i Perl at jeg første gang stødte på regulære
udtryk.

>> s/<(span)(:?\s+[^>]*)*>(.*?)</\1>/\3/gi;

> Overkill, og virker ikke på nestede span-elementer. Man kan
> bare fjerne alle instanser af <span...> og </span>, som kan
> matches med regexp'en:
> /<\/?span\b[^>]*>/gi

Elegant.
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

Jens Gyldenkærne Cla~ (05-05-2005)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 05-05-05 20:11

Benny Nissen skrev:

> Er der ikke noget i javascript (eller for den sags skyld asp)
> der svarer til php's strip_tags(); ?

Nej.
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

Søg
Reklame
Statistik
Spørgsmål : 177495
Tips : 31968
Nyheder : 719565
Indlæg : 6408489
Brugere : 218886

Månedens bedste
Årets bedste
Sidste års bedste