<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://weblogs.asp.net/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Faraz Shah Khan : Link</title><link>http://weblogs.asp.net/farazshahkhan/archive/tags/Link/default.aspx</link><description>Tags: Link</description><dc:language>en</dc:language><generator>CommunityServer 2007 SP1 (Build: 20510.895)</generator><item><title>Regex to find URL within text and make them as link</title><link>http://weblogs.asp.net/farazshahkhan/archive/2008/08/09/regex-to-find-url-within-text-and-make-them-as-link.aspx</link><pubDate>Sat, 09 Aug 2008 09:53:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:6498459</guid><dc:creator>farazsk11</dc:creator><author>farazsk11</author><slash:comments>17</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/farazshahkhan/rsscomments.aspx?PostID=6498459</wfw:commentRss><comments>http://weblogs.asp.net/farazshahkhan/archive/2008/08/09/regex-to-find-url-within-text-and-make-them-as-link.aspx#comments</comments><description>&lt;P mce_keep="true"&gt;Some time back on the form somebody was looking for some help in searching URL within text and make those URLs as link. Me and that guy tried various regex but the one that worked out I thought to put it on the blog so that it can help me and others later. Regex itself is:&lt;/P&gt;
&lt;P mce_keep="true"&gt;-------- In VB.Net ---------&lt;BR&gt;Dim regx As New Regex("&lt;A href="http://([/w+?\.\w+])+([a-zA-Z0-9\~\!\@\#\$\%\^\&amp;amp;amp;\*\(\)_\-\=\+\\\/\?\.\:\;\'\"&gt;http://([\w+?\.\w+])+([a-zA-Z0-9\~\!\@\#\$\%\^\&amp;amp;amp;\*\(\)_\-\=\+\\\/\?\.\:\;\'\&lt;/A&gt;,]*)?", RegexOptions.IgnoreCase)&lt;/P&gt;
&lt;P mce_keep="true"&gt;-------- In C#.Net ---------&lt;BR&gt;Regex regx = new Regex("&lt;A href="http://([//w+?\\.\\w+])+([a-zA-Z0-9\\~\\!\\@\\#\\$\\%\\^\\&amp;amp;amp;\\*\\(\\)_\\-\\=\\+\\\\\\/\\?\\.\\:\\;\\'\\"&gt;http://([\\w+?\\.\\w+])+([a-zA-Z0-9\\~\\!\\@\\#\\$\\%\\^\\&amp;amp;amp;\\*\\(\\)_\\-\\=\\+\\\\\\/\\?\\.\\:\\;\\'\\&lt;/A&gt;,]*)?", RegexOptions.IgnoreCase); &lt;/P&gt;
&lt;P mce_keep="true"&gt;And I used following method to convert the URLs into link within text.&lt;/P&gt;
&lt;P mce_keep="true"&gt;-------- In VB.Net ---------&lt;BR&gt;Protected Function MakeLink(ByVal txt As String) As String&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim regx As New Regex("&lt;A href="http://([/w+?\.\w+])+([a-zA-Z0-9\~\!\@\#\$\%\^\&amp;amp;amp;\*\(\)_\-\=\+\\\/\?\.\:\;\'\"&gt;http://([\w+?\.\w+])+([a-zA-Z0-9\~\!\@\#\$\%\^\&amp;amp;amp;\*\(\)_\-\=\+\\\/\?\.\:\;\'\&lt;/A&gt;,]*)?", RegexOptions.IgnoreCase)&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim mactches As MatchCollection = regx.Matches(txt)&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; For Each match As Match In mactches&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; txt = txt.Replace(match.Value, "&amp;lt;a href='" &amp;amp; match.Value &amp;amp; "'&amp;gt;" &amp;amp; match.Value &amp;amp; "&amp;lt;/a&amp;gt;")&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Next&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Return txt&lt;BR&gt;End Function&lt;/P&gt;
&lt;P mce_keep="true"&gt;------- In C#.Net --------&lt;BR&gt;protected string MakeLink(string txt) &lt;BR&gt;{ &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Regex regx = new Regex("&lt;A href="http://([//w+?\\.\\w+])+([a-zA-Z0-9\\~\\!\\@\\#\\$\\%\\^\\&amp;amp;amp;\\*\\(\\)_\\-\\=\\+\\\\\\/\\?\\.\\:\\;\\'\\"&gt;http://([\\w+?\\.\\w+])+([a-zA-Z0-9\\~\\!\\@\\#\\$\\%\\^\\&amp;amp;amp;\\*\\(\\)_\\-\\=\\+\\\\\\/\\?\\.\\:\\;\\'\\&lt;/A&gt;,]*)?", RegexOptions.IgnoreCase); &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MatchCollection mactches = regx.Matches(txt); &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; foreach (Match match in mactches) { &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; txt = txt.Replace(match.Value, "&amp;lt;a href='" + match.Value + "'&amp;gt;" + match.Value + "&amp;lt;/a&amp;gt;"); &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; } &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return txt; &lt;BR&gt;}&lt;/P&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=6498459" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/farazshahkhan/archive/tags/C_23002E00_Net/default.aspx">C#.Net</category><category domain="http://weblogs.asp.net/farazshahkhan/archive/tags/.Net+2.0/default.aspx">.Net 2.0</category><category domain="http://weblogs.asp.net/farazshahkhan/archive/tags/VB.Net/default.aspx">VB.Net</category><category domain="http://weblogs.asp.net/farazshahkhan/archive/tags/ASP.Net/default.aspx">ASP.Net</category><category domain="http://weblogs.asp.net/farazshahkhan/archive/tags/Link/default.aspx">Link</category><category domain="http://weblogs.asp.net/farazshahkhan/archive/tags/Regex/default.aspx">Regex</category><category domain="http://weblogs.asp.net/farazshahkhan/archive/tags/URL/default.aspx">URL</category></item></channel></rss>