Sök i forumet! En sökning på länkar gav till exempel denna tråd: http://www.webforum.nu/showthread.php?s=&forumid=22&threadid=75258&highlight=l�nkar
En bra start.
11 svar · 360 visningar · startad av magnusfeldth
Jag använder bland annat följande funktion för att få in smilies i ett forum:
<%
Function Smiley(text)
text = server.HTMLEncode(text)
text = Replace(text,vbCrLf,"<br>")
text = Replace(text,":-)","<img src=""images/smiley_glad.gif"">")
text = Replace(text,"[img]","<img src=""")
text = Replace(text,"[/img]",""">")
Response.Write text
End Function
%>
och denna för att få fram dem:
<% =Smiley(strText) %>
Hur gör jag för att få in länkar, dvs att tex http://www.webforum.nu blir en länk osv...
även, hur gör man för att långa länkar ska delas upp (så som de gör på wF)
Sök i forumet! En sökning på länkar gav till exempel denna tråd: http://www.webforum.nu/showthread.php?s=&forumid=22&threadid=75258&highlight=l�nkar
En bra start.
Jag kopierade från Palle så koden blev följande:
<%
Function Smiley(text)
text = server.HTMLEncode(text)
text = Replace(text,vbCrLf,"<br>")
text = Replace(text,"[img]","<img src=""")
text = Replace(text,"[/img]",""">")
Set regExp = New regexp
regExp.Global = true
regExp.IgnoreCase = true
regExp.Pattern = "((?:mailto\:|(?:news|(?:ht|f)tp(?:s?))\://){1}\S+)"
str = regExp.Replace(str, "<a href=""redir.asp?url=$1"">$1</a>")
regExp.Pattern = "\[url =(.*)\](.*)\[/url\]"
makeOutput = regExp.Replace(str, "<a href=""redir.asp?url =ht tp://$1"">$2</a>")
Response.Write text
End Function
%>
<% =Smiley(strText) %>
Jag har hackat upp koden lite så att inte wF ska ändra den genom att lägga in några mellanslag.
Felet är att texten inte blir länkar, inget felmess kommer.
Bara en liten parantes... Lite konstigt att kalla funktionen för Smiley när extra funktionalitet har tillkommit. Bättre att kalla den för FixText eller något liknande. ;)
namnet kan fixas till senare ;)
Ett tips är att inte använda
text = Replace(text,"[img]","<img src=""")
text = Replace(text,"[/img]",""">")
Vad händer om någon skriver
hmm.. Du kan ju testa detta:
<%
Function Smiley(text)
text = server.HTMLEncode(text)
text = Replace(text, vbCrLf, "<br>")
Set regExp = New regexp
regExp.Global = true
regExp.IgnoreCase = true
regExp.Pattern = "((?:mailto\:|(?:news|(?:ht|f)tp(?:s?))\://){1}\S+)"
text = regExp.Replace(str, "<a href=""redir.asp?url=$1"">$1</a>")
regExp.Pattern = "\[url =(.*)\](.*)\[/url\]"
text = regExp.Replace(str, "<a href=""redir.asp?url =ht tp://$1"">$2</a>")
regExp.Pattern = "\[img](.*)\[/img\]"
text = regExp.Replace(str, "<img src=""$1"">")
Set regExp = Nothing
Smiley = text
End Function
%>
<% =Smiley(strText) %>
Är ingen hejjare på RegExp men värt ett försök ;)
Och koden är som sagt lite "upphackad" så inte wF ska strula
Får det inte att fungera, det blir ingen text alls?!
Jag bifogar koden i txt-dokument för att inte behöva hacka upp den... kan nån se om jag glömt justera den nånstans?
Testa denna då (bifogade filen)
Sorry, blir ingen text alls nu heller. Vad tusan kan det vara?
Har nästan fått den att funka nu... har justerat genom att skriva
regExp.Pattern = "((?:mailto\:|(?:news|(?:ht|f)tp(?:s?))\://){1}\S+)"
text = regExp.Replace([b]text[/b], "<a href=""$1"">$1</a>")
Men jag får inte
regExp.Pattern = "\[url =(.*)\](.*)\[/url\]"
text = regExp.Replace(text, "<a href=""$1"">$2</a>")
att fungera... skriver jag exakt (obs, upphackat här...ironi) [url = htt p ://www .minsida.se/]hej[/ url] så får jag utskrivet htt p://<a%20href=/ och den skriver länken som htt p://ww w.minsida.se">hej weird
Testa:
strText = ReplaceTags("\[ URL=(.*?)\](.*?)\[\/URL\]", "<a href=""$1"">$2</a>", strText)
(spacen mellan [ och URL skall inte vara där. Fick lägga in den, eftersom annars blev det fel här i forumet.)