• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 772
  • Last Modified:

Remove Hyperlinks From String

Hello I need to remove hyperlinks from a string but leave the text of the hyperlink. The hyperlinks look like this. I am using vb.net 1.1. The only thing left in this example should be "Tollgate". The url employeeid, period, assignmentid, planid, allocatorid and elementid are variables not fixed values. Thank you much for any help as I am pulling what hair I have left out on it.

<a id="lnkVolumeDetails" href="/program.Statements/Y2005/Ultrasound/Rep/RevenueDetail.aspx?employeeid=6705&amp;period=200902&amp;assignmentid=12110&amp;planid=296&amp;elementid=2359&amp;allocatorid=3334" style="font-size:10pt;">= Current QTD Volume</a></TD>
0
scorpion53061
Asked:
scorpion53061
  • 9
  • 4
  • 4
  • +1
2 Solutions
 
garethh86Commented:
Sorry, I mainly deal with vb.net so my C# is a little ropey, you should get the gist of this though, hope it helps!
// Count the number of chars to ">"
 
    // Count characters. White space is treated as a character
    System.Text.RegularExpressions.MatchCollection charColl = System.Text.RegularExpressions.Regex.Matches(strOriginal, @">");
    strCount = charColl.Count.ToString();
 
// Removes specified number of characters(from the count before) starting at index 0
    strModified = strOriginal.Remove(0,strCount);
    MessageBox.Show(strModified);

Open in new window

0
 
garethh86Commented:
Sorry, remove the </a> aswell
string strNew = strModified.Replace("</a>", "");

Open in new window

0
Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
ScanboxCommented:
sorry didnt read your text carefully enough
0
 
käµfm³d 👽Commented:
In one line:
System.Text.RegularExpressions.Regex.Replace(url_string_object_here, "</?a[^>]*>", String.Empty)

Open in new window

0
 
käµfm³d 👽Commented:
Ammendment:

Capture the output of the previous post in a variable as the Replace() function returns the new string.
0
 
scorpion53061Author Commented:
kaufmed are you saying I can put the whole string in there and it will remove the hyperlinks?
0
 
scorpion53061Author Commented:
I mean the whole HTML string (I mean there is going to be  more than one link that needs to be removed)
0
 
garethh86Commented:
Much cleaner kaufmed, was trying to convert my vb code badly!
0
 
garethh86Commented:
scorpion, where are the links coming from, is it from a databound item?
0
 
scorpion53061Author Commented:
I am in vb.net so that is cool.
0
 
scorpion53061Author Commented:
I put the HTML string in there and it didn't work. Not sure what I did wrong.
0
 
scorpion53061Author Commented:
no it is a string I am reading from a webpage.
0
 
käµfm³d 👽Commented:
I tested the RegEx and it removed all occurrences from my example. Perhaps if you post some code, we can better assist you.

My test code follows:
Application:
 
    Sub Main()
        Dim link As String = "<a id=""lnkVolumeDetails"" href=""/program.Statements/Y2005/Ultrasound/Rep/RevenueDetail.aspx?employeeid=6705&amp;period=200902&amp;assignmentid=12110&amp;planid=296&amp;elementid=2359&amp;allocatorid=3334"" style=""font-size:10pt;"">= Current QTD Volume</a></TD><a id=""lnkVolumeDetails"" href=""/program.Statements/Y2005/Ultrasound/Rep/RevenueDetail.aspx?employeeid=6705&amp;period=200902&amp;assignmentid=12110&amp;planid=296&amp;elementid=2359&amp;allocatorid=3334"" style=""font-size:10pt;"">= Current QTD Volume</a></TD><a id=""lnkVolumeDetails"" href=""/program.Statements/Y2005/Ultrasound/Rep/RevenueDetail.aspx?employeeid=6705&amp;period=200902&amp;assignmentid=12110&amp;planid=296&amp;elementid=2359&amp;allocatorid=3334"" style=""font-size:10pt;"">= Current QTD Volume</a></TD><a id=""lnkVolumeDetails"" href=""/program.Statements/Y2005/Ultrasound/Rep/RevenueDetail.aspx?employeeid=6705&amp;period=200902&amp;assignmentid=12110&amp;planid=296&amp;elementid=2359&amp;allocatorid=3334"" style=""font-size:10pt;"">= Current QTD Volume</a></TD><a id=""lnkVolumeDetails"" href=""/program.Statements/Y2005/Ultrasound/Rep/RevenueDetail.aspx?employeeid=6705&amp;period=200902&amp;assignmentid=12110&amp;planid=296&amp;elementid=2359&amp;allocatorid=3334"" style=""font-size:10pt;"">= Current QTD Volume</a></TD>"
        link = System.Text.RegularExpressions.Regex.Replace(link, "</?a[^>]*>", String.Empty)
 
        Console.WriteLine(link)
        Console.ReadKey()
    End Sub
 
Output:
 
= Current QTD Volume</TD>= Current QTD Volume</TD>= Current QTD Volume</TD>= Cur
rent QTD Volume</TD>= Current QTD Volume</TD>

Open in new window

0
 
scorpion53061Author Commented:
Okay this is the code that gives me the string from the web page? WIll that help?
Public Function EmailHttpContent(ByVal url As String) As String
        Dim pr As New System.Net.WebProxy("0.0.0.0", 88)
        Dim objRequest As WebRequest = System.Net.HttpWebRequest.Create(url)
        objRequest.Proxy = pr
        Dim sr As New StreamReader(objRequest.GetResponse().GetResponseStream())
        Dim result As String = sr.ReadToEnd()
        sr.Close()
        Return result
    End Function
0
 
käµfm³d 👽Commented:
So something like the following doesn't work for you?
Public Function EmailHttpContent(ByVal url As String) As String
        Dim pr As New System.Net.WebProxy("0.0.0.0", 88)
        Dim objRequest As WebRequest = System.Net.HttpWebRequest.Create(url)
        objRequest.Proxy = pr
        Dim sr As New StreamReader(objRequest.GetResponse().GetResponseStream())
        Dim result As String = sr.ReadToEnd()
        sr.Close()
 
        Return System.Text.RegularExpressions.Regex.Replace(result, "</?a[^>]*>", String.Empty)
End Function

Open in new window

0
 
scorpion53061Author Commented:
I will have to bring in the function locally as it used elsewhere in the program without the need for what we are doing. But I will let you know.
Again thank you for your help.
0
 
scorpion53061Author Commented:
Holy crap that did work....youguys rock
0
 
scorpion53061Author Commented:
outstanding people all around. patient and helpful.
0

Featured Post

Upgrade your Question Security!

Your question, your audience. Choose who sees your identity—and your question—with question security.

  • 9
  • 4
  • 4
  • +1
Tackle projects and never again get stuck behind a technical roadblock.
Join Now