Avatar billede kew1n Nybegynder
21. januar 2008 - 20:57 Der er 7 kommentarer

ASP Replace() function

Hej Eksperter,

Jeg benytter mig i øjeblikket af følgende dynamiske inkluderingsmetode på en hjemmeside jeg er ved at lave;

http://www.hjemmesideskolen.dk/html/dynasp.asp?id=dynasp2

Mit spørgsmål er, om det kan lade sig gøre (uden at bruge database) at benytte følgende;

http://www.aspdev.org/articles/asp-replace()-vbscript/

-----

Mit formål er at have nogle ord skal markeres anderledes end andre og i stedet for jeg konstant skal ændre disse ord manuelt, ville det være rart at det automatisk blev rettet.

Kan jeg få replacet nogle ord uden at skulle dele hele mit site op i en database og lave en streng?

-------

Jeg er temmelig ny til ASP, så I må virkelig skrive begynder-agtigt til mig :)..

- tak på forhånd

// KeW1n
Avatar billede Slettet bruger
21. januar 2008 - 22:12 #1
jamen hej...

- vi kan da sagtens træne noget replace-funktion - men hvad er det du vil?
her nedenfor har du to eksempler, den ene er en function den anden er ikke:
<%
function sletmellemrum(streng)
sletmellemrum=streng
if sletmellemrum<>"" then
replace(sletmellemrum," ","")
end if
end function
response.write sletmellemrum("dette er så min streng som har mellemrum")
%>

- den uden function er:

<%
str = "dette er så min streng som har mellemrum"
response.write replace(str," ","")
%>

man kan jo sige at den nederste er den mest simple... i hvert fald i dette her eksempel - men det kommer an på hvad du skal bruge det til...

\Dan
Avatar billede kew1n Nybegynder
21. januar 2008 - 22:39 #2
Hej Dan,

Tak for kommentaren.

Jeg ved ikke hvordan jeg laver en streng.. er det ikke kun hvis man har en database man kan lave det?..

Jeg har alle mine sider liggende som .inc filer der bliver hentet ind.


Pointen er at jeg i min default fil kan skrive noget kode som omdanner/erstatter f.eks. ordet: Kevin til KeW1n..
Avatar billede Slettet bruger
21. januar 2008 - 22:58 #3
ok... jamen så kan du jo i din inc. fil skrive følgende:

<%
str = "her har vi en sætning som indeholder Kevin"
%>

- og i din default-side skrive du følgende:

<%
function editstr(streng)
editstr=streng
if editstr<>"" then
replace(editstr,"Kevin","KeW1n")
end if
end function
response.write editstr(str)
%>

og så skal du selvfølgelig huske at inkludere din inc. fil allerøverst i default-siden...

\Dan
Avatar billede kew1n Nybegynder
21. januar 2008 - 23:10 #4
min .inc fil:
<%
str = "<h1>Test</h1>
Hvis mit navn Kevin bliver nævnt i denne fil, vil det automatisk blive omdannet til K e W 1 n..
"
%>


-------------------------------------------------------------------

.inc filen bliver jo inkluderet igennem;

<%
side_ID = Request.Querystring("id")
Dim side

Select Case side_ID ' definer de 'lovlige' sider
  Case "test", "s2", "s3", "s4", "s5", "s6", "s7", "s8"
    side = side_ID
  Case Else
    side = "test" ' default indhold hvis intet er specifiseret
End Select
Server.Execute(side & ".inc")
%>

-------------------------------------------------------------------

Hvor kan jeg så skrive det du skrev.. så det virker?

<%
function editstr(streng)
editstr=streng
if editstr<>"" then
replace(editstr,"Kevin","KeW1n")
end if
end function
response.write editstr(str)
%>


-------------------------------------------------------------------

Beklager hvis jeg spørger dumt.. Men tak for hjælp :)
Avatar billede Slettet bruger
21. januar 2008 - 23:26 #5
du skal vel bare indsætte redigeringen nedenunder...

<%
side_ID = Request.Querystring("id")
Dim side

Select Case side_ID ' definer de 'lovlige' sider
  Case "test", "s2", "s3", "s4", "s5", "s6", "s7", "s8"
    side = side_ID
  Case Else
    side = "test" ' default indhold hvis intet er specifiseret
End Select
Server.Execute(side & ".inc")

function editstr(streng)
editstr=streng
if editstr<>"" then
replace(editstr,"Kevin","KeW1n")
end if
end function
response.write editstr(str)
%>


Jeg tror bare ikke du kan bruge server.execute som kommando... men du skal brue include...

\Dan
Avatar billede kew1n Nybegynder
21. januar 2008 - 23:31 #6
Hmm.. ved ikke helt hvad dette betyder?

-------------------------------------------------

Microsoft VBScript compilation  error '800a0414'

Cannot use parentheses when calling a Sub

/Default.asp, line 76
replace(editstr,"Kevin","KeW1n")
--------------------------------^


-------------------------------------------------

Er det fordi jeg skal bruge include?.. og hvis ja.. hvordan gør jeg det?
Avatar billede Slettet bruger
22. januar 2008 - 00:16 #7
- jeg ved det ikke... ;-)

Men jeg ved den bedste måde at lære asp på er at prøve sig frem - så prøv med include i stedet.
Læs om det her: http://www.w3schools.com/asp/asp_incfiles.asp

\Dan
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
Kurser inden for grundlæggende programmering

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