Avatar billede werd Nybegynder
16. november 2002 - 14:22 Der er 18 kommentarer og
2 løsninger

replace i include

jeg har følgende replacekode str = Replace(strTekst, vbCrlf, "<br />")

og den virker også fint nok i en string... men hvis der skal replaces i en include:
<!--#include file="xxx.txt"--> hvordan gør man så?

nogle gode ideer?
Avatar billede pfp Nybegynder
16. november 2002 - 14:25 #1
Hvad mener du med at den skal placeres i en include. Skal det være "inden i" selve include filen eller i linien: <!--#include file="xxx.txt"-->

Det sidste kan nemlig ikke lade sig gøre.
Avatar billede werd Nybegynder
16. november 2002 - 14:29 #2
man kan ikke skrive noget smart?

replace(<!--include-->, vbCrlf, "<br />") ? eller noget andet? evt et trick med str ?
Avatar billede pfp Nybegynder
16. november 2002 - 14:34 #3
Nej det kan ikke lade sige gøre så vidt jeg husker. Er 99,5 % sikker.
Avatar billede thomas_regin Nybegynder
16. november 2002 - 14:53 #4
ASP understøtter IKKE dynamiske INCLUDES.

Det vil sige, at man på ingen måde kan behandle en include-fil som en variabel!

Sorry!.

/thomas
Avatar billede werd Nybegynder
16. november 2002 - 14:55 #5
ok... hvordan gør man så hvis det er inde i filen?

filen er opbygget nogenlunde således:

<% if id = "navn1" then %>
en masse tekst som skal have konverteret vbCrlf til <br />

<% if id = "navn2" then %>
mere tekst som skal have konverteret vbCrlf til <br />

<% if id = "navn3" then %>
og så videre og så videre...


___

kan man tage det hele over en kam?
Avatar billede thomas_regin Nybegynder
16. november 2002 - 15:00 #6
Det kommer jo helt an på hvor du får variablen "navn" fra!

Hvis navn kommer fra en form kan du jo f.eks gøre således:

For each form_content in Request.Form
    myVariable = myVariable & Replace(Request.Form(form_content),"vbCrLf","<br>")
Next

Hvis du kender antallet af dine variabler og de alle hedder navnXX, så kan du gøre således:

for i = 1 to 20
  navn" & i & " = Replace(navn" & i & ","vbCrLf", "<br>")
Next

/thomas.
Avatar billede thomas_regin Nybegynder
16. november 2002 - 15:02 #7
Aaah.. Sorry.. Læste lige forkert.. Det er jo ID du checker på!..

myID = Replace(ID, "vbCrLf","<br>")

Nu vil den udskifte vbCrLf med <br> uanset hvad variablen indeholder..

/thomas.
Avatar billede thomas_regin Nybegynder
16. november 2002 - 15:03 #8
Og så skal du selvfølgelig lige fjerne gåseøjnene fra "vbCrLf"

Nogle gange går det lidt for hurtigt! ;)

/thomas.
Avatar billede werd Nybegynder
16. november 2002 - 15:19 #9
det er jo ikke i selve ID variablen teksten ligger!
Avatar billede werd Nybegynder
16. november 2002 - 15:20 #10
sådan her:
<% if id = "lars" then %>
en masse tekst som skal have konverteret vbCrlf til <br />

<% elseif id = "lene" then %>
mere tekst som skal have konverteret vbCrlf til <br />

<% elseif id = "line" then %>
og så videre og så videre...
<% end if %>
Avatar billede thomas_regin Nybegynder
16. november 2002 - 15:53 #11
Du bliver nødt til at fortælle hvor den tekst, der skal konverteres kommer fra! Ellers er det jo umuligt, at skrive en funktion!

/thomas.
Avatar billede werd Nybegynder
16. november 2002 - 16:15 #12
det skal være de enkelte tekster mellem asp-taggene!
Avatar billede thomas_regin Nybegynder
16. november 2002 - 16:40 #13
Hehe.. Det er jeg klar over!;)

Men hvor får du denne tekst fra?.. En database, tekstfil, XML, manuelt ??

Spurgt på en anden måde:

Kommer teksten mellem hvert tag fra samme kilde, f.eks en database: rs("TEKST"), og hvad præcis er forskellen mellen if ID = "lene" then og ID = lars" .. Hvad ændrer sig i teksten baseret på disse valg!?

/thomas.
Avatar billede werd Nybegynder
16. november 2002 - 17:32 #14
teksten ligger mellem taggene... ikke noget med database eller noget! Det hele ligger i en tekstfil som bliver included!
Avatar billede ldplusse Nybegynder
16. november 2002 - 22:42 #15
Man kan godt lave include dynamisk. Der skal bare bruges server.execute.

<%
Server.Execute(Request.Querystring("site"))
%>
Så hvis der står:
default.asp?site=test.asp

Så bliver filen test.asp included i default.asp
Avatar billede humlebidk Nybegynder
17. november 2002 - 05:30 #16
eller således
<!--#include file="<%=dinVar %>"-->
Avatar billede werd Nybegynder
17. november 2002 - 11:00 #17
>>thomas regin
hele teksten ændres... der er ikke to rekster der er ens!
Avatar billede werd Nybegynder
17. november 2002 - 11:02 #18
tror nu jeg vælger at smide det ind i en database i stedet... selvom det tager lidt tid!

thomas regin du får lidt pts for kode jeg nu får brug for...
Avatar billede thomas_regin Nybegynder
17. november 2002 - 14:42 #19
Du kan da sagtens vælge at beholde din textfil!

Findes der en tekstfil for alle brugere?.. Dvs:

lene.txt
lars.txt osv..

I så fald så lav en funktion, der kan aflæse teksten og skrive den ud:

Function getTxt(ID)
set objFSO = Server.CreateObject("Scripting.FileSystemObject")
set tf = objFSO.OpenTextFile(ID & ".txt",1,false)
allTheText = Replace(tf.ReadAll,VbCrLf,"<br>")
getTxt = allTheText
End Function

Nu kan du bare kalde denne funktion med f.eks:

Response.Write getTxt("lene")

Så finder funktionen en textfil der hedder "lene.txt" udskifter alle VbCrLf'erne med <br> og skriver teksten tilbage!

Håber du kunne bruge dette!

/thomas.
Avatar billede club-p Nybegynder
20. november 2002 - 20:26 #20
werd> du har lavet en kode for mig men jeg kan ikke få den til at  virke vil du ikke hjælpe mig med at sætte den op

http://www.eksperten.dk/spm/283999
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