Toon posts:

[ASP] Variabelen in (HTML)tekst

Pagina: 1
Acties:
  • 230 views sinds 30-01-2008
  • Reageer

Verwijderd

Topicstarter
Na veel met php gewerkt te hebben, ben ik de laatste tijd bezig ASP te leren. Een ding valt me van ASP erg tegen en dat is het volgende:

Regelmatig wil ik een 'groot' stuk tekst toekennen aan een variabele. In php gaat dat gemakkelijk op deze manier:
PHP:
1
2
3
4
5
6
7
8
9
10
$variabele = "bladibla";
$tekst = <<<EOD
<p>Hier kan een hoop tekst komen te staan. <br />
   Zelfs kan hier een {$variabele} in komen die erg
  gemakkelijk in de tekst te plakken is.
</p>
<p>
  Ook erg mooi is dat "escaping" niet nodig is...
</p>
EOD;

Nu zou ik dit ook graag in ASP kunnen. Ten eerste lukt het mij tot nu aan toe nog niet om meerdere regels te gebruiken voor een string. Als ik verder ga op de volgende regel, dan zuurt de server dat ik mijn tekenreeks niet heb afgesloten.
Daarnaast heb ik het plaatsen van een variabele in een tekst ook nog niet gezien bij ASP.
Ook dat je niet hoeft te escapen bij php is echt een geweldige uitvinding :)

Nu is mijn vraag...
Zijn deze dingen mogelijk?? Of moet ik maar genoegen nemen dat ASP dit niet kan.

  • André
  • Registratie: Maart 2002
  • Laatst online: 26-05 00:33

André

Analytics dude

ASP:
1
2
3
Tekst = "bla bla bla bla bla bla bla bla bla bla " &_
        "bla bla bla bla bla bla bla bla bla bla " &_
        "bla bla bla bla bla bla bla bla bla bla "
Zo?

Nee dus, er moet meer functionaliteit in.

[ Voor 23% gewijzigd door André op 15-04-2004 14:32 ]


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 17:50

gorgi_19

Kruimeltjes zijn weer op :9

Afaik kan VBScript dat niet en zul je met de methodiek van Andre aan de slag moeten.

Als ranzige oplossing voor de variabelen in de string kan je eval gebruiken; nette oplossing is een eigen parsertje er voor maken.

[ Voor 45% gewijzigd door gorgi_19 op 15-04-2004 14:35 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • TeeDee
  • Registratie: Februari 2001
  • Laatst online: 21:18

TeeDee

CQB 241

ASP:
1
2
3
4
5
6
7
8
9
varretje = "Hela hola!"

tekst = "bla bla bla bla ##replacevar## bla bla bla<br>"
tekst = tekst&"bla bla bla bla bla bla bla<br>"&vbCrlf
tekst = tekst&"bla bla "&varretje&" bla bla bla bla bla<br>"&vbCrlf
tekst = tekst&"bla bla bla bla bla bla bla<br>"&vbCrlf
tekst = tekst&"bla bla bla bla bla bla bla<br>"&vbCrlf

tekst = Replace(tekst, "##replacevar##", "Hier een varretje ofzo")

Of niet?

[ Voor 30% gewijzigd door TeeDee op 15-04-2004 14:35 ]

Heart..pumps blood.Has nothing to do with emotion! Bored


  • André
  • Registratie: Maart 2002
  • Laatst online: 26-05 00:33

André

Analytics dude

Volgens mij kan het ook makkelijker, waarom zou je zulke lappen tekst in een variabele willen hebben?

  • faabman
  • Registratie: Januari 2001
  • Laatst online: 08-08-2024
ASP:
1
2
3
4
5
dim strvariabele
  strvariabele = "variabele"

Response.Write("hallo, ik ben faabman en ik kan wel een " & strvariabele & " in " _
   & "een string plaatsen.")


quotes in html geef je gewoon weer met "

Op zoek naar een baan als Coldfusion webdeveloper? Mail me!


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 17:50

gorgi_19

Kruimeltjes zijn weer op :9

String operaties zijn alleen niet een van de snelste zaken in ASP (in de meeste talen trouwens niet)... :P

[ Voor 20% gewijzigd door gorgi_19 op 15-04-2004 14:38 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Verwijderd

Topicstarter
André schreef op 15 april 2004 @ 14:36:
Volgens mij kan het ook makkelijker, waarom zou je zulke lappen tekst in een variabele willen hebben?
Dit is gemakkelijk voor het maken van templates. Ik kan dan een stuk tekst in een variabele stoppen en deze later aangepast in een template stoppen in plaats van deze tekst al voordat de openingstags van html geprint zijn printen.

dus:
PHP:
1
2
3
4
var = "tekst .... 

"
showtemplate(var)


Ik ga alle adviezen even bekijken en testen op bruikbaarheid. Mijn eerste indruk is dat ik het teveel code vindt voor te weinig functionaliteit, maar ik zal eerst even kijken voordat ik reageer.

In ieder geval bedankt!

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 17:50

gorgi_19

Kruimeltjes zijn weer op :9

Als je met templates aan de gang gaat, kan je imho beter een templatebestand (customTemplate1.txt) en parser bestand maken. Dit parserbestand leest dan dmv het FileSystemObject de template in een variabele in en replaced bepaalde waarden.

Vervolgens output je deze variabele naar de browser. Dit lijkt me een nettere oplossing dan zelf hard bepaalde content in een variabele te zetten.

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Verwijderd

Topicstarter
gorgi_19 schreef op 15 april 2004 @ 14:43:
... en replaced bepaalde waarden....
Ik heb al zo'n soort template systeem, maar de bepaalde waarden waarna je verwijst zijn bij mij redelijk grote stukken waarin ook nog variabelen zitten. Dit is voor mij dus het handigst als ik deze stukken tekst toe kan kennen aan een variabele zonder escaping en met de variabelen erin.
... oplossing is een eigen parsertje er voor maken...
Ik ben tot de conclusie gekomen dat ik maar een parsertje ga schrijven, want inderdaad heeft ASP zelf (of vbscript) niet de volledige functionaliteit die ik wens. Helaas...
Bedankt voor het idee :)
String operaties zijn alleen niet een van de snelste zaken in ASP.
Helemaal mee eens! Hierin is php een stuk beter. Extra functionaliteit zou echt een stuk handiger zijn (bv functies waarbij je niet hoeft te escapen). Maar ik begrijp ook wel waarom dat niet in vbscript zit.

  • TeeDee
  • Registratie: Februari 2001
  • Laatst online: 21:18

TeeDee

CQB 241

Verwijderd schreef op 15 april 2004 @ 14:55:
Maar ik begrijp ook wel waarom dat niet in vbscript zit.
Leg uit :?

Heart..pumps blood.Has nothing to do with emotion! Bored


Verwijderd

Topicstarter
Als er extra functionaliteit in komt, die ik wens (natuurlijk niet bij alle extra functionaliteit), dan moet de syntax van de taal verruimt worden (of minder strict worden) (zeker bij het geval dat ik niet wil escapen en ook bij dat ik eigenlijk statements wil declareren op meerdere regels).
Deze verruiming heeft zijn voordelen voor de eindgebruiker, maar voor de interpreters kan dit problemen opleveren. De syntactische correctheid van de taal kan in het geding komen. Ik kan me daarom voorstellen dat de mensen die de standaarden bedenken, dit soort functionaliteit er niet in willen hebben. (De functionaliteit beperkt namelijk slechts de hoeveelheid code)

[ Voor 5% gewijzigd door Verwijderd op 15-04-2004 15:15 ]


Verwijderd

Topicstarter
oeps... in plaats van edit doe ik quote 8)7

[ Voor 99% gewijzigd door Verwijderd op 15-04-2004 15:15 ]


Verwijderd

voor templates kan je ook subs gebruiken

voorbeeldje:
code:
1
2
3
4
5
6
7
8
Sub NewsPost(subject, message, poster, datetime)%>
   Titel: <%=subject%>, Door: <%=poster%>, Op: <%=datetime%>
   <hr>
   <%=message%>
<%End Sub


NewPost "een titel", "got forums r0x0rs", "ikke", now()


werkt voor mij altijd perfect :)

  • TeeDee
  • Registratie: Februari 2001
  • Laatst online: 21:18

TeeDee

CQB 241

Verwijderd schreef op 15 april 2004 @ 15:13:
[...]
Als er extra functionaliteit in komt, die ik wens (natuurlijk niet bij alle extra functionaliteit), dan moet de syntax van de taal verruimt worden (of minder strict worden) (zeker bij het geval dat ik niet wil escapen en ook bij dat ik eigenlijk statements wil declareren op meerdere regels).
Deze verruiming heeft zijn voordelen voor de eindgebruiker, maar voor de interpreters kan dit problemen opleveren. De syntactische correctheid van de taal kan in het geding komen. Ik kan me daarom voorstellen dat de mensen die de standaarden bedenken, dit soort functionaliteit er niet in willen hebben. (De functionaliteit beperkt namelijk slechts de hoeveelheid code)
Maar dat heeft in feite dan weer niets met vbScript te maken, maar meer met script/programmeer talen in het algemeen.

Verder lijkt het me voor de "ontwikkelaars" van VbScript niet echt handig om nu nog updates/patches voor de syntax te maken, dit omdat .Net er is.

Heart..pumps blood.Has nothing to do with emotion! Bored


Verwijderd

Helemaal mee eens! Hierin is php een stuk beter. Extra functionaliteit zou echt een stuk handiger zijn (bv functies waarbij je niet hoeft te escapen). Maar ik begrijp ook wel waarom dat niet in vbscript zit.
Waarom gebruik je dan geen ASP met JScript? VBScript is niet verplicht in ASP hoor!
Pagina: 1