webForumDet fria alternativet

Reg exp...hmm...det blir fel...=(

ASP

13 svar · 445 visningar · startad av mikul

Medlem sedan aug. 20013 824 inlägg
Frågan#1

Tjenare...
jag håller på med lite forumkod till ett forum=)
och nu ska jag göra så att aspkod färgas till en viss färg..förutom vissa komandon, så som if, else, end if ..mm... och alla kommentarer...asså: '
jag har nu löst allt utom komentar raderna...
jag kör denna kod:

Set regExp = new regexp
regExp.Global = True
regExp.IgnoreCase = True
regExp.Pattern = "('.+?<br>)"
str = regExp.Replace(str, "<font color =""#0000FF"">$1</font>")

det funkar till en viss del...
men om jag tex infogar lite 'enkelfnuttar i koden' så blir det fel...
om jag tex skriver den här koden i forumet:
sql = "SELECT field1 FROM table WHERE Field1 = '"&strWord&"' "
då blir resten av raden blå från --> '"&

nån som kan hjälpa mig med att fixa så att den bara färgar komentarer...?

/ Mikul

Medlem sedan juni 20008 205 inlägg
#2

Du kan ju prova det här:

regExp.Pattern = "((?:.*?"".*?"".*?)*)('.+?<br>)"
str = regExp.Replace(str, "$1<font color =""#0000FF"">$2</font>")
Medlem sedan aug. 20013 824 inlägg
#3

det verkar inte funka...

typ en evighetsloop....
den laddar och laddar....men det händer inget...

/ Mikul

Medlem sedan aug. 20013 824 inlägg
#4

ingen som vet va det är för fel på pattern'et???

/ Mikul

Medlem sedan juni 20008 205 inlägg
#5

Inget, det funkade på min dator... är du säker på att det är det som är fel?

Medlem sedan aug. 20013 824 inlägg
#6

det funkade inte på pace's dator heller....
kan ingen mer testa om det funkar...???
snälla :)

/ Mikul

Medlem sedan aug. 20013 824 inlägg
#7

det funkar verkligen inte...
för mig och pace så står den bara o tuggar...för Palleman så blev inget blått....
vad är fel???
nån som har nåt annat pattern som funkar???

/ Mikul

Medlem sedan juni 20008 205 inlägg
#8

Ursprungligen av mikul för Palleman så blev inget blått....

Så uppfylldes kraven då? Var det ett mellanslag efter varje <br>? Det fungerade helt felfritt för mig, det kan inte vara att ni har gamla scriptmotorer eller så?

Medlem sedan aug. 20013 824 inlägg
#9

ska det va mellanslag efter varje <br>???

/ Mikul

Medlem sedan aug. 20013 824 inlägg
#10

så här ser koden ut:

<html>

<head>
<title>forumkod!</title>
</head>
<body>

<form method="POST" action="<%=request.servervariables("script_name")%>">
  <p><textarea rows="8" name="strText" cols="65" style="font-family: Verdana; font-size: 10px; border-style: dashed; border-width: 1px"></textarea>
  <input type="submit" value="Skicka" name="send"></p>
</form>

<hr>
<%
if request.form("strText") <> "" Then

	strHtml = "<font face=""Courier New"" size=""2""><font color=""#000000""><span style=""{ background-color: #ffffcc; }"">&lt;%</span>"
	strHtml2 = "<span style=""{ background-color: #ffffcc; }"">%&gt;</span></font></font>"
	strChr1 = "&lt;%"
	strChr2 = "%&gt;" 
	
	str = server.htmlencode(Trim(request.form("strText")))
	str = Replace(str, vbCrLf, "<br>" & vbCrLf)
	str = Replace(str, strChr1,  strHtml)
	

	str = replace(str, "if ", "<font color=""#3366FF""><b>If </b></font>")
'	str = replace(str, "if<br>", "<font color=""#3366FF""><b>If</b><br></font>")

'	str = replace(str, "then<br>", "<font color=""#3366FF""><b>Then</b><br></font>")
	str = replace(str, "then ", "<font color=""#3366FF""><b>Then </b></font>")

'	str = replace(str, "with<br>", "<font color=""#3366FF""><b>With</b><br></font>")
	str = replace(str, "with ", "<font color=""#3366FF""><b>With </b></font>")

	str = replace(str, "else ", "<font color=""#3366FF""><b>Else </b></font>")
'	str = replace(str, "else<br>", "<font color=""#3366FF""><b>Else</b><br></font>")

	str = replace(str, "end ", "<font color=""#3366FF""><b>End </b></font>")
	
	str = replace(str, "do ", "<font color=""#009933""><b>Do </b></font>")
	str = replace(str, "until ", "<font color=""#009933""><b>Until </b></font>")
	str = replace(str, "loop ", "<font color=""#009933""><b>Loop </b></font>")
	str = replace(str, "while ", "<font color=""#009933""><b>While </b></font>")
	str = replace(str, "wend ", "<font color=""#009933""><b>Wend </b></font>")
	str = replace(str, "for ", "<font color=""#009933""><b>For </b></font>")
	str = replace(str, "to ", "<font color=""#009933""><b>To </b></font>")
	str = replace(str, "next ", "<font color=""#009933""><b>Next </b></font>")
	str = replace(str, "not ", "<font color=""#3366FF""><b>Not </b></font>")
	str = replace(str, "or ", "<font color=""#3366FF""><b>Or </b></font>")
	str = replace(str, "dim ", "<font color=""#3366FF""><b>Dim </b></font>")
	str = replace(str, "request", "<font color=""#009933""><b>Request</b></font>")
	str = replace(str, "response", "<font color=""#009933""><b>Response</b></font>")
	str = replace(str, "Server", "<font color=""#009933""><b>Server</b></font>")
	str = replace(str, "application", "<font color=""#009933""><b>Application</b></font>")
	str = replace(str, "session", "<font color=""#009933""><b>Session</b></font>")
	str = replace(str, "&amp;", "<font color=""#3366FF""><b>&amp;</b></font>")
	str = replace(str, "&quot;", "<font color=""#3366FF""><b>&quot;</b></font>")

	str = replace(str, "sql ", "<font color=""#009933""><b>Sql </b></font>")	
	str = replace(str, "response.write", "<font color=""#009933""><b>Response.write</b></font>")
	str = replace(str, "select ", "<font color=""#3366FF""><b>SELECT </b></font>")
	str = replace(str, "from ", "<font color=""#3366FF""><b>FROM </b></font>")
	str = replace(str, "where ", "<font color=""#3366FF""><b>WHERE </b></font>")
	str = replace(str, "insert into", "<font color=""#3366FF""><b>INSERT INTO</b></font>")
	str = replace(str, "update ", "<font color=""#3366FF""><b>UPDATE</b></font>")
	str = Replace(str, "%&gt;", strHtml2)

	Set regExp = new regexp
	regExp.Global = True
	regExp.IgnoreCase = True
	regExp.Pattern = "((?:.*?"".*?"".*?)*)('.+?<br> )"
	str = regExp.Replace(str, "$1<font color =""#0000FF"">$2</font>")
	
	application("str") = str
	str = application("str")
	
	 Response.Write "<pre>"& str &"</pre>"
else
	response.write "ingen kod."
end if
%>
<hr>
</body>
</html>

/ Mikul

Medlem sedan juni 20008 205 inlägg
#11

Ja, så som regexpen är utformad nu så krävs ett mellanslag efter <br>. Eftersom det fanns där i den första varianten antog jag att det fanns någon mening med det. Om du inte vill att det ska behöva finnas där tar du bort mellanslaget innan sista högerparantesen.

Medlem sedan aug. 20013 824 inlägg
#12

det funkar fortfarande inte...
den bara står o tuggar...

kolla själv:
http://www.allehanda.net/mikul/forumkod.asp

/ Mikul

Medlem sedan aug. 20013 824 inlägg
#13

jaaaaaaaaaaaaaaaaaa!!!!!!!!!!!!!!!!!
det funkar ju för faaaan!!!!!!!!!
tack så mycket för hjälpen!!!!!!!!!
det tog ett jävla tag men innan det kom något...

nån som vet hur man kan få det snabbare??

/ Mikul

Medlem sedan aug. 20013 824 inlägg
#14

nej!
det här funkade inte att skriva ju:
Response.write "<a href = 'test.asp'>test</a>"

nån ide??

/ Mikul

278 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
124 ms — deklarationer (db)
0 ms — hämta statistik (cache)
142 ms — hämta tråd, inlägg och bilagor (db)
133 ms — ändringar (db)