|
| Problem med replace Fra : David Trasbo |
Dato : 25-07-05 12:08 |
|
Det er nu første gang jeg arbejder med replace men jeg kan desværre ikke få
det til at virke. Jeg trækker min menu ud fra en database og tekst mellem
[a] og [/a] skal markeres som accesskey. Jeg har prøvet med følgende:
Replace(rs("Accesskeytext"), "[a]", "<span class=%22accesskey%22>")
Replace(rs("Accesskeytext"), "[/a], "</span>")
Så får jeg allerede i første linje af ovenstående eksempel denne fejl:
Der opstod en Microsoft VBScript-kompileringsfejl (0x800A0414)
Der kan ikke bruges parenteser ved kald af en Sub
/site/includes/allmenu.inc, line 23, column 67
Replace(rs("Accesskeytext"), "[a]", "<span class=%22accesskey%22>")
--
David Trasbo.
http://indexpage.dk
| |
Kasper Lindberg (25-07-2005)
| Kommentar Fra : Kasper Lindberg |
Dato : 25-07-05 12:37 |
|
"David Trasbo" <datra@mail.dk> skrev i en meddelelse
news:42e4c80e$0$18648$14726298@news.sunsite.dk...
> Det er nu første gang jeg arbejder med replace men jeg kan desværre ikke
> få
> det til at virke. Jeg trækker min menu ud fra en database og tekst mellem
> [a] og [/a] skal markeres som accesskey. Jeg har prøvet med følgende:
>
> Replace(rs("Accesskeytext"), "[a]", "<span class=%22accesskey%22>")
> Replace(rs("Accesskeytext"), "[/a], "</span>")
>
> Så får jeg allerede i første linje af ovenstående eksempel denne fejl:
>
> Der opstod en Microsoft VBScript-kompileringsfejl (0x800A0414)
> Der kan ikke bruges parenteser ved kald af en Sub
> /site/includes/allmenu.inc, line 23, column 67
> Replace(rs("Accesskeytext"), "[a]", "<span class=%22accesskey%22>")
>
lyder mærkeligt
replace returnerer en tekststreng, så prøv at gemme det i en variabel
f.eks.
txt=Replace(rs("Accesskeytext"), "[a]", "<span class=%22accesskey%22>")
response.write(txt)
hvad sker der?
ellers må du nedbryde linien.
den klager sandsynligvis over dit rs("Accesskeytext"),
prøv at hente det alene
txt=rs("Accesskeytext")
response.write(txt)
virker det?
/Kasper
| |
Tomasz Otap (25-07-2005)
| Kommentar Fra : Tomasz Otap |
Dato : 25-07-05 12:52 |
|
Kasper Lindberg proclaimed as follows:
>>Det er nu første gang jeg arbejder med replace men jeg kan desværre ikke
>>få
>>det til at virke. Jeg trækker min menu ud fra en database og tekst mellem
>>[a] og [/a] skal markeres som accesskey. Jeg har prøvet med følgende:
>>
>>Replace(rs("Accesskeytext"), "[a]", "<span class=%22accesskey%22>")
>>Replace(rs("Accesskeytext"), "[/a], "</span>")
> lyder mærkeligt
>
> replace returnerer en tekststreng, så prøv at gemme det i en variabel
>
> f.eks.
> txt=Replace(rs("Accesskeytext"), "[a]", "<span class=%22accesskey%22>")
> response.write(txt)
Jep. Hvis du blot skriver Replace uden at gemme resultatet i en
variabel, opfattes det som et kald til en Sub frem for en Function. En
Sub kan i VBscript kaldes på to måder: med eller uden parenteser. Kalder
du den med parenteser, skal du bruge kommandoen call foran sub-navnet:
call Replace(rs("Accesskeytext"), "[a]", "<span class=%22accesskey%22>")
Eller du kan kalde en sub uden at bruge parenteser:
Replace rs("Accesskeytext"), "[a]", "<span class=%22accesskey%22>"
Replace returnerer dog en tekststreng som resultat, derfor skal
resultatet sættes i en variabel (som vist af Kasper) eller udskrives på
skærmen (f.eks. response.write replace(noget, andet, streng) ). Ellers
er der ikke meget mening i at kalde den. :)
t
--
Aequitas sequitur funera
| |
David Trasbo (25-07-2005)
| Kommentar Fra : David Trasbo |
Dato : 25-07-05 13:58 |
|
> txt=rs("Accesskeytext")
> response.write(txt)
>
> virker det?
Jeg får resultatet:
<span class='accesskey'>F[/a]orsiden[a]F</span>orsiden
Fatter det ikke??
--
David Trasbo.
http://indexpage.dk
| |
Kasper Lindberg (25-07-2005)
| Kommentar Fra : Kasper Lindberg |
Dato : 25-07-05 21:22 |
|
"David Trasbo" <datra@mail.dk> skrev i en meddelelse
news:42e4e1f5$0$18640$14726298@news.sunsite.dk...
>> txt=rs("Accesskeytext")
>> response.write(txt)
>>
>> virker det?
>
> Jeg får resultatet:
> <span class='accesskey'>F[/a]orsiden[a]F</span>orsiden
>
> Fatter det ikke??
>
gør jeg måske.
Hvis jeg gætter rigtigt så har du gjort noget ala
txt=Replace(rs("Accesskeytext"), "[a]", "<span class=%22accesskey%22>")
response.write(txt)
txt=Replace(rs("Accesskeytext"), "[/a], "</span>")
response.write(txt)
rigtigt?
det du skal gøre er
txt=rs("Accesskeytext")
txt=Replace(txt, "[a]", "<span class=%22accesskey%22>")
txt=Replace(txt, "[/a], "</span>")
response.write(txt)
/Kasper
| |
David Trasbo (26-07-2005)
| Kommentar Fra : David Trasbo |
Dato : 26-07-05 10:27 |
|
> det du skal gøre er
>
> txt=rs("Accesskeytext")
> txt=Replace(txt, "[a]", "<span class=%22accesskey%22>")
> txt=Replace(txt, "[/a], "</span>")
> response.write(txt)
Nu får jeg følgende resultat:
<span class=%22accesskey%22>F</span>orsiden
<p><a href="/default.asp" title="Gå til: Forsiden [Accesskey 'f']"
accesskey="f">[a]F[/a]orsiden</a></p>
| |
David Trasbo (26-07-2005)
| Kommentar Fra : David Trasbo |
Dato : 26-07-05 10:54 |
|
> > det du skal gøre er
> >
> > txt=rs("Accesskeytext")
> > txt=Replace(txt, "[a]", "<span class=%22accesskey%22>")
> > txt=Replace(txt, "[/a], "</span>")
> > response.write(txt)
>
> Nu får jeg følgende resultat:
>
> <span class=%22accesskey%22>F</span>orsiden
>
> <p><a href="/default.asp" title="Gå til: Forsiden [Accesskey 'f']"
> accesskey="f">[a]F[/a]orsiden</a></p>
Nåår. Jeg fjernede Response.Write txt efter efter replace og erstattede
Response.Write rs("accesskeytext") med Response.Write txt. Nu virker
skidtet!
--
David Trasbo.
http://indexpage.dk
| |
|
|