webForumDet fria alternativet

svordomsfilter

ASP

7 svar · 434 visningar · startad av Arne

Medlem sedan maj 2000267 inlägg
Frågan#1

Jag vill ta bort svordommar ur vissa textsträngar och denna kod fungerar bra (nästan)

Och jag skriver en textsträng med Namnet Stefan så skrivs bara Ste ut. Hur gör jag för att functionen inte raderar ord som innehåller fan t.ex.?

Function cencur(mess) 
	Set objRegExp = New regexp 
	objRegExp.Global = true 
	objRegExp.IgnoreCase = true 
	mess = Server.HTMLEncode(mess) 

	objRegExp.Pattern = "(fan|helvete)"

	mess = objRegExp.Replace(mess," ") 
	cencur = mess 
End Function
Medlem sedan juni 20019 519 inlägg
#2
Function cencur(mess) 
	Set objRegExp = New regexp 
	objRegExp.Global = true 
	objRegExp.IgnoreCase = true 
	mess = Server.HTMLEncode(mess) 

	objRegExp.Pattern = " (fan|helvete)"

	mess = objRegExp.Replace(mess," ") 
	cencur = mess 
End Function

nu måste man ha ett "mellanslag" innan fan... dvs stefan kommer vara ok.. men om någon börja skriva i början av meningen "fan vad jag är bra" så kommer den inte att reagerar. Jag vet inte hur man löser detta förutom när man lägger in ny text kanske

str = " " & str

men annars ...

Medlem sedan aug. 2001226 inlägg
#3

objRegExp.Pattern = " [^\s](fan|helvete)"
kanske?

Medlem sedan juni 20019 519 inlägg
#4

nope... har försökt med [^a-zA-z0-9] med.. men vägrar typ..

Medlem sedan maj 2000138 inlägg
#5

hur gör du om någon heter Fanny då?

Medlem sedan dec. 20003 887 inlägg
#6

Ändra pattern till

(fan|helvete)\b

red.
Hmm... det fungerar ju inte. Jag återkommer...

Medlem sedan dec. 20003 887 inlägg
#7

v2.0

(^(fan|helvete)\b)|(\W(fan|helvete)\b)

Det ska väl kunna fungera lite bättre.

Medlem sedan juli 20011 084 inlägg
#8
[b]\b[/b](fan|helvete)[b]\b[/b]

"word boundary" både före och efter borde väl fungera.

250 ms totalt · 4 externa anrop · v20260731065814-full.e96017d9
121 ms — deklarationer (db)
0 ms — hämta statistik (cache)
126 ms — hämta tråd, inlägg och bilagor (db)
118 ms — ändringar (db)