Toon posts:

[jscript/regex] veld uit database

Pagina: 1
Acties:

Verwijderd

Topicstarter
ik wil een string parsen die als volgt is opgebouwd:
JavaScript:
1
s1 = "een string met een database %fieldname% erin"

de bedoeling is dus om met ss jscipt (in asp) deze string te parsen. in eerste instantie dacht dit als volgt te doen:
JavaScript:
1
s1 = s1.replace(/%(/w+)%/g,recordset("$1")


maar dat werkt dus niet.
Ik heb ook al geprobeerd met het regexp object aan de gang te gaan (ik verwacht uit reg.exec(s1) een array met matches (toch?) maar wat ik terugkrijg lijkt geen array te zijn. (ik krijg ook helemaal geen foutmeldingen, maar gewoon helemaal niks terug)

[ Voor 11% gewijzigd door Verwijderd op 29-12-2003 00:45 ]


  • faabman
  • Registratie: Januari 2001
  • Laatst online: 08-08-2024
mmm, in vbscript (wat ook in asp draait) zou je gewoon

ASP:
1
s1 = Replace(s1, "%field%", objRS("field"))


kunnen doen...

Je zou wellicht met een for-loop door je database veldnamen heen kunnen lopen en bij elke match de inhoud van het betreffende veld parsen...

[ Voor 11% gewijzigd door faabman op 29-12-2003 02:31 ]

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


  • .oisyn
  • Registratie: September 2000
  • Laatst online: 15:32

.oisyn

Moderator Devschuur®

Demotivational Speaker

wat is recordset voor een functie?
En je roept die functie natuurlijk aan met letterlijk "$1" als parameter. Die wordt heus niet vervangen door de eerste match in de regex. Dat gebeurt pas in de replace-functie zelf, die een $1 herkent als zijnde 'oh, hier moet de eerste match'

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


Verwijderd

Topicstarter
da's inderdaad het probleem ja, die recordset is een standaard adodb recordset en geeft me dus de waarde van het veld met die naam uit de db terug. Inderdaad is het wel logisch dat die dus als parameter $1 meekrijgt.

Alleen hoe krijg ik nu de regmatch dan? (of iig de eerste submatch) want die wil ik meegeven aan de die recordset en vervangen door de waarde die geretourneerd wordt