我GOOGLE了一些代碼,使用設置高亮的代碼是一個URL轉換爲超鏈接:正則表達式轉換鏈接的超鏈接
// format the url tags: [url=www.website.com]my site[/url]
// becomes: <a href="www.website.com">my site</a>
exp = new Regex(@"\[url\=([^\]]+)\]([^\]]+)\[/url\]");
str = exp.Replace(str, "<a href=\"$1\">$2</a>");
// format the img tags: [img]www.website.com/img/image.jpeg[/img]
// becomes: <img src="www.website.com/img/image.jpeg" />
exp = new Regex(@"\[img\]([^\]]+)\[/img\]");
str = exp.Replace(str, "$1\" />");
我也想轉換普通鏈接hyperlinks.I've一派更多一些並得到了這個:
exp = new Regex("(http://[^ ]+)");
str = exp.Replace(str, "<a href=\"$1\">$1</a>");
問題是,當我混合他們和第三個正則表達式執行時,前兩個會搞砸。因爲它可能導致:
<img src="<a href='www.website.com/img/image.jpeg>www.website.com/img/image.jpeg</a>" />
如何我在第三的正則表達式,他無法轉換與「HREF =「」或「SRC =」」開頭的字符串指定?
可能重複的[如何從bbcode url標記中提取url +參數?](http://stackoverflow.com/questions/3257607/how-to-extract-the-urlparameters-out-of-a -bbcode-url-tag) – kennytm 2010-07-17 12:53:27