Jag förstår inte. Om du skriver in
Kolla in min länk!
http://www.aftonbladet.seKul va?!
Hur vill du då att resultatet skall bli?
5 svar · 266 visningar · startad av laidback
Ska göra en kontroll av ett textstycke för att göra om allt som börjar med http:// till länk automatiskt.
Det här funkar fint:
strText = Regex.Replace(strText, "(\bhttp://\S+|\bnews://\S+|\bftp://\S+)", "<a href=""$1"" target=""_blank"">$1</a>", RegexOptions.IgnoreCase)
MEN, bara om länken har ett mellanslag eller så efter sig. Skriver jag t ex:
Kolla in min länk!
http://www.aftonbladet.se
Kul va?!
Så blir länken <a href="http://www.aftonbladet.se" target="_blank">http://www.aftonbladet.se</a><br><br>K
Inte riktigt rätt. Hur avslutar man länken efter sista bokstaven, oavsett om det är ett blanksteg där eller inte?
Och eg. borde det väl bli en <asp:hyperlink... av det, men det kanske inte är så svårt att fixa iofs... :OO
Jag förstår inte. Om du skriver in
Kolla in min länk!
http://www.aftonbladet.seKul va?!
Hur vill du då att resultatet skall bli?
Ooops, jag var visst lite trött i går när jag skrev mitt inlägg. Sorry :r
Så här ska det stå:
Så blir länken <a href="http://www.aftonbladet.se" target="_blank">http://www.aftonbladet.se<br><br>K</a>
Alltså, radbrytningarna och första tecknet efter blir en del av länken, vilket jag misstänkte berodde på att det inte finns något blanksteg efter länken, utan en radbrytning.
/ska kanske inte skriva inlägg när jag är trött
\S matchar tecken andra än white space. I white space inkluderas såväl CR som LF, så om det textstycke du matchar mot ser ut enligt
Kolla in min länk!\nhttp://www.aftonbladet.se\n\nKul va?!
borde din kod fungera.
Du kan ju testa:
(\b(?:http|ftp|news):\/\/\S+)
Anledningen är att tecknen <, b, r och > alla ingår i \S. Istället för \S så får du använda en mängd som inte innehåller < och >, till exempel [\w\.\-\?+~%/#&!] eller [^ <>\r\n].
En <asp:hyperlink> har du inte så stor nytta av i en sträng. I så fall skulle du behöva kompilera strängen...
Åkej, tack båda två. Ska testa och ffa LÄSA PÅ om regular expressions.