webForumDet fria alternativet
Logga in / Bli medlem

versaler och gemener problem

ASP

6 svar · 254 visningar · startad av His Divine Shadow

Medlem sedan sep. 20004 079 inlägg
Trådstart#1

Jag håller på med ett script för forum kod, problemet är att det är skillnad på versaler och gemener, vilket inte är bra, ett exempel:

function StrFormat(fString)
	fString = replace(fString, "[yellow]", "<font color=Yellow>")
	fString = replace(fString, "[/yellow]", "</font id=Yellow>")
	
	StrFormat = fString
end function

Använder man stort "Y" här så funkar det inte, det är inte acceptabelt, finns det nått sätt som man kan "stänga av" funktionen som ser skillnad på små och stora bokstäver?

Medlem sedan dec. 200012 464 inlägg
#2
fString = replace(fString, "[yellow]", "<font color=Yellow>",1,-1,vbTextCompare)
Medlem sedan mars 20007 896 inlägg
#3

Får jag vara petig och ge dig ett råd?

Använda inte Replace till detta, utan använd dig av reguljära uttryck. Med ett RegExp kan du nämligen kolla om användaren skrev en [yellow] och en [/yellow], och formatera texten däremellan. Om du använder Replace behöver användaren bara sätta [yellow], och om det inte finns någon sluttagg så formateras ju resten av din sida efter taggen. Med RegExp formaterar du endast text som innehåller både startagg och sluttagg.

Hoppas du förstår vad jag menar. :)

Medlem sedan sep. 20004 079 inlägg
#4

Jo, jag fattar, så är det bara att ersätta replace med regexp?
Uhm, nej det kan kan jag inte...

Såhär kanske?
[KOD]
fString = RegExp(fString, "", "", "<center>", "</center>",1,-1,vbTextCompare)
[KOD]

Medlem sedan mars 20007 896 inlägg
#5

Hint: Kika på emissions pattern som ligger i wF-script ( Har för mig att scriptet heter wF-Kod ).

Medlem sedan sep. 20004 079 inlägg
#6

Uhm, kollat och nu fattar jag mindre än när jag började...
Jag fattar ingenting av scriptet, det är stort och komplicerat och jag fattar inte hur det hänger ihop.

Kollat på scriptet i Snitz Forums kod och inte fattar jag det fullkomligt heller, men det verkar jag förstå bättre.

fString = doCode(fString, "[center]", "[/center]", "<center>", "</center>")

doCode är nått konstig hög med kod som jag bara försökt klistra in, fattar fortfarande noll.
Såhär ser den ut:

function doCode(fString, fOTag, fCTag, fROTag, fRCTag)
	fOTagPos = Instr(1, fString, fOTag, 1)
	fCTagPos = Instr(1, fString, fCTag, 1)
	while (fCTagPos > 0 and fOTagPos > 0)
		fString = replace(fString, fOTag, fROTag, 1, 1, 1)
		fString = replace(fString, fCTag, fRCTag, 1, 1, 1)
		fOTagPos = Instr(1, fString, fOTag, 1)
		fCTagPos = Instr(1, fString, fCTag, 1)
	wend
	doCode = fString
end function
Medlem sedan sep. 20004 079 inlägg
#7

Fixade det själv efter lite jämförelse med Snitz kod.

394 ms totalt · 4 externa anrop · v20260731065814-full.51f67c91
128 ms — deklarationer (db)
125 ms — hämta statistik (db)
137 ms — hämta tråd, inlägg och bilagor (db)
123 ms — ändringar (db)