Du kan ju prova det här:
regExp.Pattern = "((?:.*?"".*?"".*?)*)('.+?<br>)"
str = regExp.Replace(str, "$1<font color =""#0000FF"">$2</font>")
13 svar · 445 visningar · startad av mikul
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
Du kan ju prova det här:
regExp.Pattern = "((?:.*?"".*?"".*?)*)('.+?<br>)"
str = regExp.Replace(str, "$1<font color =""#0000FF"">$2</font>")
det verkar inte funka...
typ en evighetsloop....
den laddar och laddar....men det händer inget...
/ Mikul
Inget, det funkade på min dator... är du säker på att det är det som är fel?
det funkade inte på pace's dator heller....
kan ingen mer testa om det funkar...???
snälla :)
/ Mikul
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
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å?
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; }""><%</span>"
strHtml2 = "<span style=""{ background-color: #ffffcc; }"">%></span></font></font>"
strChr1 = "<%"
strChr2 = "%>"
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, "&", "<font color=""#3366FF""><b>&</b></font>")
str = replace(str, """, "<font color=""#3366FF""><b>"</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, "%>", 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
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.
det funkar fortfarande inte...
den bara står o tuggar...
kolla själv:
http://www.allehanda.net/mikul/forumkod.asp
/ Mikul
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
nej!
det här funkade inte att skriva ju:
Response.write "<a href = 'test.asp'>test</a>"
nån ide??
/ Mikul