Avatar billede prasden Nybegynder
08. november 2001 - 00:42 Der er 18 kommentarer og
1 løsning

replace funcktion

Hvordan er syntaxen her:

function omskrivText(dette) {
regx = /hey/
dette.replace(regx,\"hej\")
}

document.write omskrivText(\"hey\")

mvh Andreas
Avatar billede prasden Nybegynder
08. november 2001 - 00:54 #1
skulle være (hvis nogle skulle være nysgerrige :)

dette = dette.replace(regx,\"hej\")
return dette

/mvh Andreas
Avatar billede jakoba Nybegynder
08. november 2001 - 01:10 #2
<script type=\'text/javascript\'>

function omskrivText(dette) {
    var regx = /hey/;
    return dette.replace(regx,\"hej\");
}

document.write( omskrivText(\"hey\") );

</script>

hvis du placere det i dikumentets body (sammen med teksten) bliver der skrevet  hej  der.

mvh JakobA
Avatar billede prasden Nybegynder
08. november 2001 - 01:15 #3
Fik nu fint min anden løsning til at virke :)
Men - hvordan tester jeg for et anførselstegn?

Har prøvet med:
/\"&quot;\"/
/&quot;/
/\"/

men ikke rigtig nogle af dem der giver noget respons.
Avatar billede jakoba Nybegynder
08. november 2001 - 01:25 #4
indeni en regexp kan diverse tegn \'escapes ved at skrive \\ foran.

var regx2 = /\\\"/;
Avatar billede jakoba Nybegynder
08. november 2001 - 01:30 #5
men behøver du overhovedet at escape den?  \" har ingen speciel betydning indeni en regexp, det er blot et andet printbart tegn.

De \" tegn der omkranser fx hej ovenfor er ikke en del af strengen. der er blot hjælpetegn der fortæller javascript hvor den streng begynder og ender.

mvh JakobA
Avatar billede prasden Nybegynder
08. november 2001 - 01:34 #6
Måske lidt off topic - men så må du jo lade være med at svare hvis du ikke gider:

Jeg har en <iframe> kode som indeholder dette:

onload=\'initFrame(\"retTekst(strInMain)\");\'

strInMain er en asp streng, men den indeholder følgende (er test indhold):
< lala > det er vel \"ok\"

den vil gerne replace < og >, men når der er \" eller \' tegn i så kager det..

Hvordan kommer jeg omkring dette spørgsmål?

(kan godt oprette det som nyt spørgsmål hvis det er hvad man gør her :)

mvh Andreas
Avatar billede jakoba Nybegynder
08. november 2001 - 01:46 #7
Jeg ville gerne, men fatter ikke spørgsmålet.

Jeg ville nok anbefale lidt debug. fx et textarea forneden på siden (grimt og midlertidigt)

<form name=\'olsen\' onsubmit=\"return false\">
<textarea name=\'debug\' rows=10 cols=65></textarea>
</form>

så kan du lægge en linie ind forrets i funktionen retTekst:
    document.olsen.debug.value = dette;

så du kunne kikke i textareaet præcis hvad der står i den streng, og om det er det du venter.
og evt cut&paste strengen ind i tråden her så jeg kan se den.

mvh JakobA
Avatar billede prasden Nybegynder
08. november 2001 - 02:09 #8
Er du fortrolig med asp?
For det er muligvis i transformationen mellem asp og js det går galt.
Så skal lige vide om du kender til asp før jeg går igang med at uddybe :)

mvh Andreas
Avatar billede prasden Nybegynder
08. november 2001 - 02:25 #9
Well fuck det - prøver anyway.

Har som sagt min iframe, og der skal noget indhold i.

Det gør jeg ved at tilføje følgende:

onload=\'initFrame(\"Her er noget tekst\");\'

Forestil dig så at istedet for der står: Her er noget tekst, så står der: Her er noget såkaldt \"tekst\". Dvs. at der er anførselstegn omkring tekst.
Det ødelægger min fine initFrame() funktion da den så tror der er et brud på strengen.
Det er det problem jeg prøver at løse.
Skal måske lige siges at jeg har prøvet at lave min tekst streng om til: Her er noget såkaldt &quot;tekst&quot; men det virker ikke rigtigt.

Håber det var ordentligt forklaret

mvh Andreas
Avatar billede jakoba Nybegynder
08. november 2001 - 02:26 #10
Nej, jeg er ikke ret god til asp.

Jeg ved blot det ofte er en kamp at få den til at levere de rigtige strenge til htmlsiden.

også derfor med det textarea. det kan fortælle hvad der kommer ud af asp.

men hvis asp er problemet så vil jeg anbefale forummet \"programmering: ASP\"

mvh JakobA
Avatar billede prasden Nybegynder
08. november 2001 - 02:28 #11
Problemet er ikke asp, da dhtml er bygget på js og ikke asp :=)

Og jeg bruger kun asp til at udskrive html koden, så problemet er altså ikke asp.

mvh Andreas
Avatar billede jakoba Nybegynder
08. november 2001 - 02:33 #12
&quot;  og de andre ampersand koder er til html fortolkeren. i en streng der skal bives som parameter til javascript bør der stå \\ som escape karakter:

onload=\"initFrame(\'Her er noget \\\"sær\\\" tekst\');\" 

bemærk jeg har \'vendt\' de ydre plinger.  \\ får \" tegnene ind i handler-strengen:
      \"initFrame(\'Her er noget \\\"sær\\\" tekst\');\"
næste gang der skal kikkes på strengen er når initFrame skal udføres, og så er det strengen
                \'Her er noget \"sær\" tekst\'
der kikkes på og den er jo helt iorden.

mvh JakobA
Avatar billede prasden Nybegynder
08. november 2001 - 02:37 #13
Hvad vil der så ske hvis der bruges \' i teksten?

Tester lige dit forslag mens jeg venter :)

mvh Andreas
Avatar billede jakoba Nybegynder
08. november 2001 - 02:40 #14
så ville vi venden plingerne hele vejen ud:
  onload=\'initFrame(\"Her er noget \\\'sær\\\' tekst\");\'

den virker ligesågodt og gør præcis det samme
Avatar billede prasden Nybegynder
08. november 2001 - 02:45 #15
Nu ser min onload således ud:

onload=\'initFrame(\"Her er noget \\\'tekst\\\'\");\'

men den melder Unterminated String Constant :(

(har du icq eller irc? og i det tilfælde tid :)

mvh Andreas
Avatar billede prasden Nybegynder
08. november 2001 - 02:48 #16
du kan jo skrive på mail hvis du har en af delene
ad@gjk.dk
Avatar billede jakoba Nybegynder
08. november 2001 - 02:59 #17
hvergang er streng skal \'læses som streng\' af javascript forsinder der et lag escape tegn

eg: vi vil have en alert til at skrive:  Otoole\'s værktøj
alert( \'Otoole\\\'s værktøj\' );  gør det

eval( \'alert( \\\'Otoole\\\\\\\'s værktøj\\\' )\' ); gør det igen

eval( \'eval( \\\'alert( \\\\\\\'Otoole\\\\\\\\\\\\\\\'s værktøj\\\\\\\' )\\\' )\' ); gør det igenigen

men siden både \\ tegn og \' tegn skal escapes for hvert lag kan det efterhånden gro til det er ret ubehageligt at skulle overskue

eval(\'eval(\\\'eval(\\\\\\\'alert(\\\\\\\\\\\\\\\'Otoole\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'s værktøj\\\\\\\\\\\\\\\')\\\\\\\')\\\')\');

er bare for meget.

mvh JakobA
Avatar billede jakoba Nybegynder
08. november 2001 - 03:01 #18
an:  Kommentar fra prasden 08/11 2001 02:45:48
Det burde virke.
Avatar billede prasden Nybegynder
08. november 2001 - 03:16 #19
Du skal have MANGE tak for hjælpen.
Har endelig fået det hele til at spille sammen.
Er jo ofte sådan at det hele afhænger af en lille detalje, men her hjalp du mig til at finde den.

Takker :)

/mvh Andreas
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester