•
•
•
•
What is DaniWeb IT Discussion Community?
You're currently browsing the ASP section within the Web Development category of DaniWeb, a massive community of 332,773 software developers, web developers, Internet marketers, and tech gurus who are all enthusiastic about making contacts, networking, and learning from each other. In fact, there are 2,844 IT professionals currently interacting right now! Registration is free, only takes a minute and lets you enjoy all of the interactive features of the site.
Please support our ASP advertiser: Lunarpages ASP Web Hosting
Hi Guys.
I am new to this forum so I thaught i'd post a useful code snippet. it changes text to clickable html links.
Hope it comes in handy.
Pete
I am new to this forum so I thaught i'd post a useful code snippet. it changes text to clickable html links.
Hope it comes in handy.
Pete
Last edited : Feb 7th, 2007.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <title>Untitled Document</title> </head> <body> <% '***** BEGIN FUNCTIONS ***** ' This function takes a string as input and links any www's it ' finds so that they are then clickable in a browser. Function LinkURLs(strInput) Dim iCurrentLocation ' Our current position in the input string Dim iLinkStart ' Beginning position of the current link Dim iLinkEnd ' Ending position of the current link Dim strLinkText ' Text we're converting to a link Dim strOutput ' Return string with links in it ' Start at the first character in the string iCurrentLocation = 1 ' Look for http:// in the text from the current position to ' the end of the string. If we find it then we start the ' linking process otherwise we're done because there are no ' more http://'s in the string. Do While InStr(iCurrentLocation, strInput, "www", 1) <> 0 ' Set the position of the beginning of the link iLinkStart = InStr(iCurrentLocation, strInput, "www", 1) ' Set the position of the end of the link. I use the ' first space as the determining factor. iLinkEnd = InStr(iLinkStart, strInput, " ", 1) ' If we didn't find a space then we link to the ' end of the string If iLinkEnd = 0 Then iLinkEnd = Len(strInput) + 1 ' Take care of any punctuation we picked up Select Case Mid(strInput, iLinkEnd - 1, 1) Case ".", "!", "?" iLinkEnd = iLinkEnd - 1 End Select ' This adds to the output string all the non linked stuff ' up to the link we're curently processing. strOutput = strOutput & Mid(strInput, iCurrentLocation, iLinkStart - iCurrentLocation) ' Get the text we're linking and store it in a variable strLinkText = Mid(strInput, iLinkStart, iLinkEnd - iLinkStart) ' Build our link and append it to the output string strOutput = strOutput & "<A HREF=""http://" & strLinkText & """ target=""_blank"">" & strLinkText & "</A>" ' Some good old debugging 'Response.Write iLinkStart & "," & iLinkEnd & "<BR>" & vbCrLf ' Reset our current location to the end of that link iCurrentLocation = iLinkEnd Loop ' Tack on the end of the string. I need to do this so we ' don't miss any trailing non-linked text strOutput = strOutput & Mid(strInput, iCurrentLocation) ' Set the return value LinkURLs = strOutput End Function 'LinkURLs '***** END FUNCTIONS ***** Dim strUnlinked ' The variable to hold out text to be linked up. ' Get the input string from wherever... ' It probably makes the most sense when this is read in from a ' DB or text file.! strUnlinked = "http://www.kudosvisions.com is the best Web site! <br />" & vbCrLf strUnlinked = strUnlinked & "Microsoft http://www.microsoft.com/ always has lots of good info too. <br />" & vbCrLf ' Show title for modified string Response.Write "<B>Original Text:</B><BR>" & vbCrLf ' Show the original string for comparison: Response.Write strUnlinked ' Spacing! Response.Write vbCrLf & "<BR>" & vbCrLf & vbCrLf ' Show title for modified string Response.Write "<B>Text After Linking:</B><BR>" & vbCrLf ' Call our function and write out the results: Response.Write LinkURLs(strUnlinked) ' That really is all there is to it folks! %> </body> </html>
Comments (Newest First)
cscgal | The Queen of DaniWeb | Feb 7th, 2007
•
•
•
•
Welcome to DaniWeb and thank you for your contribution! I went ahead and made a small edit by removing the [code=asp] tag you had surrounding the code snippet. Within this code snippet library, that is done automatically for you. It still needs to be done in the forums though. Thanks!
Post Comment
•
•
•
•
DaniWeb Marketplace (Sponsored Links)