Ooit heb ik eens een klassiek asp guestbook geschreven. Als een gebruiker een bericht postte met daarin een link, dan kon het script automatisch de anchor tags aan de link toevoegen. Dus als een gebruiker iets postte als www.mijnsite.com dan maakte mijn script daar automatisch http://www.mijnsite.com van.
Dat deed ik allemaal met erg omslachtige search en replace functies. Maar het werkte verder allemaal prima.
Onlangs heb ik de overstap gemaakt naar asp.net, en ben ik dit guestbook aan het herschrijven. Nu wil ik van regular expressions gebruik gaan maken. Gisteravond heb ik me hier voor het eerst in verdiept, en dit is mijn eerste simpele expressie geworden: (?<match>(http://|http://www\.|www.)([a-zA-Z.])+)
Ik weet het, deze expressie kan beter
Maar afijn, dit was om te testen..
Nu heb ik dus gekeken naar de regex classes, maar ik begrijp het allemaal nog niet zo goed. Wat ik nodig heb is een simpel stukje code wat een string doorzoekt en automatisch aan de links in die string anchor tags toevoegd.
Bijvoorbeeld:
strInput = "bla bla bla http://tweakers.net bla bla www.microsoft.com bla bla blaat"
strOutput = "bla bla bla <a href="http://www.tweakers.net">http://www.tweakers.net</a> bla bla <a href="http://www.microsoft.com">http://www.microsoft.com</a> bla bla blaat"
Nu weet ik dat ik in die expressie dat <match> voor dit doeleinde kan gebruiken. Ik heb immers de originele link nodig, ik kan hem niet simpelweg replacen met iets anders.
Heeft er iemand een stukje code voorbeeld in asp.net VB hoe ik dit zou moeten doen?
*** Sorry ***
Heb me al heel de avond sufgezocht, maar het uiteindelijk toch nog gevonden... En het is zo simpel:
Dim strOutput As String = Regex.Replace( source, find, "<a href=""${match}"">${match}</a>")
Dat deed ik allemaal met erg omslachtige search en replace functies. Maar het werkte verder allemaal prima.
Onlangs heb ik de overstap gemaakt naar asp.net, en ben ik dit guestbook aan het herschrijven. Nu wil ik van regular expressions gebruik gaan maken. Gisteravond heb ik me hier voor het eerst in verdiept, en dit is mijn eerste simpele expressie geworden: (?<match>(http://|http://www\.|www.)([a-zA-Z.])+)
Ik weet het, deze expressie kan beter
Nu heb ik dus gekeken naar de regex classes, maar ik begrijp het allemaal nog niet zo goed. Wat ik nodig heb is een simpel stukje code wat een string doorzoekt en automatisch aan de links in die string anchor tags toevoegd.
Bijvoorbeeld:
strInput = "bla bla bla http://tweakers.net bla bla www.microsoft.com bla bla blaat"
strOutput = "bla bla bla <a href="http://www.tweakers.net">http://www.tweakers.net</a> bla bla <a href="http://www.microsoft.com">http://www.microsoft.com</a> bla bla blaat"
Nu weet ik dat ik in die expressie dat <match> voor dit doeleinde kan gebruiken. Ik heb immers de originele link nodig, ik kan hem niet simpelweg replacen met iets anders.
Heeft er iemand een stukje code voorbeeld in asp.net VB hoe ik dit zou moeten doen?
*** Sorry ***
Heb me al heel de avond sufgezocht, maar het uiteindelijk toch nog gevonden... En het is zo simpel:
Dim strOutput As String = Regex.Replace( source, find, "<a href=""${match}"">${match}</a>")
[ Voor 21% gewijzigd door Verwijderd op 03-09-2004 01:08 ]