RegExp tar ut varandra
24 svar · 353 visningar · startad av Vide · sida 2 av 2
Frågan, av Vide
Hejsan! Håller på att tappa skägget (rakade iofs av det imorrse, men det är ju ett talesätt), har försökt få ihop två regexp-replacar, båda fungerar bra nä man använder dom var för sig, men när man använder dom tillsammans så blir det fel. objRxp.Pattern = (http://)(\S)(\S+)" strInString = objRxp.Replace(strInString, " <a title=""Länk till $2$3 (öppnas i nytt fönster)"" target=""" & strT
Läs frågan i sin helhet →Janspeed, testade ditt pattern och det blev som jag sa, börjar länken på en ny rad så länkas den inte, trycker ajg däremot in ett space framför så länkas den...
Jag får det att funka med radbrytningar också? Som spango säger så funkar det dock inte med om länken ligger på den allra första raden utan mellanslag.
Här är min fullständiga kod:
<%
'Text including codes to be converted
strText = "http://www.tjolahopp.se Hej detta[url=][/url] är ett test på en url till [url="http://www.hotmail.com"]Hotmail[/url] och" & vbcrlf & "http://www.hotmail.com. Och så har vi ju adressen till [url="http://www.smurf.com"]Smurfarna[/url] och [url="http://www.hubba.se,"]http://www.hubba.se,[/url] som är bra. eller [url="http://www.huska.bauska.net"]http://www.huska.bauska.net[/url] "
'HTMLencode to get rid of tags
strText = Server.HTMLEncode(strText)
'Creates new regexp
Set objRegExp = New regexp
'Do more than once
objRegExp.Global = true
'Ignore whether upper or lowercase
objRegExp.IgnoreCase = true
'Transform [url="http://s"]http://s[/url]
objRegExp.Pattern = "\s{1,}http://(.*?)[\.,]{0,}[\s{1,}]"
strText = objRegExp.Replace(strText," <a href=""http://$1"">http://$1</a> ")
'Transform [URL]s
objRegExp.Pattern = "\[url=(.*?)\](.*?)\[\/url\]"
strText = objRegExp.Replace(strText,"<a href=""$1"">$2</a>")
Response.write strText
%>
[Redigerat av Janspeed den 30 aug 2001]
Vad gör en Chr(0)?
Chr "konverterar" heltal till tecken. T.ex. har 'enkelfnutt' ASCII-värdet 39, så chr(39) returnerar en enkelfnutt. ASCII noll, eller nulltecknet som det kallas, är ett icke-tecken som inte betyder något alls. I C och C++ används det som slut på strängar med dynamisk längd.
------------------
The mud can make you prisoner, the plains can make you dry,
the snow can burn your eye but only people make you cry...
[Redigerat av Joe Mama den 22 aug 2001]

