[ASP] Van tekstlinks naar htmllinks

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • MoietyMe
  • Registratie: Juli 2003
  • Laatst online: 26-05 08:10
Hallo,

Ik zit nu al een tijdje te stoeien met het volgende. Ik wil graag dat als ik uit een database een stuk tekst haal, bijvoorbeeld:

"De actie loopt t/m 31 juli. Voor meer informatie kijkt u op www.tweakers.net"

Dat www.tweakers.net dan word omgezet naar:

HTML:
1
<a href="http://www.tweakers.net/" title="tweakers.net">www.tweakers.net</a>


Ik ken de replace functie, maar ik heb eerlijk gezegd niet zoveel verstand van ASP, en ben nu toch een beetje ten einde raad. Iemand een voorbeeld hiervan, of een goede tutorial.

Het enigste wat ik voor elkaar kreeg was van www.tweakers.net <a href="http://www.tweakers.net maken :(

Ik heb wel gegoogled, maar weet niet precies waar ik op moet zoeken.

Acties:
  • 0 Henk 'm!

  • Gert
  • Registratie: Juni 1999
  • Laatst online: 07-11-2024
Dat kan je beter met een regular expression, dat is sneller en scheelt nog al wat type werk. ;)

code:
1
2
3
4
5
Set objRE = New RegExp
objRE.IgnoreCase = True
objRE.Global = True
objRE.Pattern = "((w{3}\.)(([a-z]{1,}?)\.([a-z]{2,3})?))"
strResult = objRE.Replace(strText, "<a href='http://$1' title='$3'>$1</a>")

't Is niet optimaal maar dat mag je zelf uitzoeken. :P

Acties:
  • 0 Henk 'm!

  • MoietyMe
  • Registratie: Juli 2003
  • Laatst online: 26-05 08:10
Bedankt, zal er morgen eens naar kijken. Nu eerst naar huis :)

Acties:
  • 0 Henk 'm!

  • roy-t
  • Registratie: Oktober 2004
  • Laatst online: 19-09 10:19
Gert schreef op woensdag 20 mei 2009 @ 18:06:
Dat kan je beter met een regular expression, dat is sneller en scheelt nog al wat type werk. ;)

code:
1
2
3
4
5
Set objRE = New RegExp
objRE.IgnoreCase = True
objRE.Global = True
objRE.Pattern = "((w{3}\.)(([a-z]{1,}?)\.([a-z]{2,3})?))"
strResult = objRE.Replace(strText, "<a href='http://$1' title='$3'>$1</a>")

't Is niet optimaal maar dat mag je zelf uitzoeken. :P
Wow wow wow we hebben het hier over ASP.net, dit maakt het echt 10.000 keer ingewikkelder dan nodig is.(Oh ik zie nu dat je net iets anders wilt dan ik dacht, anyway dit is mogelijk nog vrij relevant, ook kun je gewoon zoeken naar http:// en www. en dat stukje test tot de eerste spatie eruit knippen en daar een Hyperlink object maken met de Text en NavigateURL als dat stukje geknipte text.

In ASP.Net heb je gewoon het object hyperlink ( http://msdn.microsoft.com...ebcontrols.hyperlink.aspx )

Je output gewoon waar je je link wilt hebben:
C#:
1
2
3
4
string gevondenTekst = "http://www.tweakers.net";
Hyperlink hyper = new Hyperlink():
hyper.Text = gevondenTekst;
hyper.NavigateURL = gevondenTekst;


Hier staat ook nog een kleine tut hoe het moet: http://msdn.microsoft.com/en-us/library/7af4k3d0.aspx

[ Voor 16% gewijzigd door roy-t op 21-05-2009 11:45 ]

~ Mijn prog blog!


Acties:
  • 0 Henk 'm!

  • Haan
  • Registratie: Februari 2004
  • Laatst online: 14:11

Haan

dotnetter

Moeilijk gaan doen met een regular expression gebruiken terwijl ASP.Net hier natuurlijk gewoon standaard functionaliteit voor heeft 8)7
Dit is toch vrij standaard gedrag, dus dan kan je er wel vanuit gaan dat daar al iets voor bestaat, of dat iemand anders het al gemaakt heeft ;)

Edit: gaat het trouwens wel over ASP.Net, of over ASP? Want in dat laatste geval kan het toch wel lastiger zijn en kan je wellicht de code van Gert gebruiken :)

[ Voor 21% gewijzigd door Haan op 20-05-2009 22:56 ]

Kater? Eerst water, de rest komt later


Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
roy-t schreef op woensdag 20 mei 2009 @ 22:22:
Je output gewoon waar je je link wilt hebben:
C#:
1
2
3
Hyperlink hyper = new Hyperlink():
hyper.Text = "Stukje tekst uit je database";
hyper.NavigateURL = "link uit database";
En hoe gaat dat werken op "De actie loopt t/m 31 juli. Voor meer informatie kijkt u op www.tweakers.net" (zie startpost)? ;)
Wat ik er van begrijp (en ik zie nergens .Net staan, dus ik ga even uit van classic ASP) wil hij uit een lap text alle url's 'klikbaar maken' zoals GoT dat bijvoorbeeld ook doet met een post waar geen [url] tags worden gebruikt maar wel url's in de tekst voorkomen.

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • 0 Henk 'm!

  • Matis
  • Registratie: Januari 2007
  • Laatst online: 10:43

Matis

Rubber Rocket

ben toch bang dat je met een loopje door je tekst heen moet en elke index waar www off http:// of ftp:// oid staat eruit *knippen* en als url teruggeven.

Zo heb ik dat ook gedaan bij mijn parser.

Let wel op, het voorbeeld is niet helemaal jofel en accepteert geen tlds van meer dan 3 teken. http://tweakers.mobi zal hij dus niet slikken en dus niet parsen.

[ Voor 29% gewijzigd door Matis op 21-05-2009 08:20 ]

If money talks then I'm a mime
If time is money then I'm out of time


Acties:
  • 0 Henk 'm!

  • roy-t
  • Registratie: Oktober 2004
  • Laatst online: 19-09 10:19
RobIII schreef op woensdag 20 mei 2009 @ 23:11:
[...]

En hoe gaat dat werken op "De actie loopt t/m 31 juli. Voor meer informatie kijkt u op www.tweakers.net" (zie startpost)? ;)
Wat ik er van begrijp (en ik zie nergens .Net staan, dus ik ga even uit van classic ASP) wil hij uit een lap text alle url's 'klikbaar maken' zoals GoT dat bijvoorbeeld ook doet met een post waar geen [url] tags worden gebruikt maar wel url's in de tekst voorkomen.
Ah ja, ik zag mijn fout na het posten en heb mijn tekst aan gepast maar niet het stukje code, heb het even gedit. Ook zie ik nu pas dat het niet zeker is dat het ASP.net is. Sorry beetje haastig gepost (zoals ook blijkt uit de weggehaalde stukken.)

Ik dacht aha maar dat kan ook zo! :P

[ Voor 12% gewijzigd door roy-t op 21-05-2009 11:46 ]

~ Mijn prog blog!

Pagina: 1