Avatar billede roadi Nybegynder
22. oktober 2002 - 22:31 Der er 13 kommentarer og
1 løsning

Få et link ud af en textbox hvor der også er alm. text!

Hej Experter!

Jeg har et problem, brugerne af mit site, er ikke helt så stærke til html.

Derfor er mit spørgsmål som følger:

Hvis en bruger nu skriver:

Bla Bla
Hent filen her www.test.dk/fil.zip

Kan man så få www.test.dk/fil.zip til at blive til en link uden at resten af texten også gør dette, det skal helst også understøtte class'en smallink

Mvh.

Roadi
Avatar billede eagleeye Praktikant
22. oktober 2002 - 22:37 #1
Jeg har en function som kan lave link i en tekststreng:


Function LinkString2(strInput)
Set objRegExpHTTP1 = New RegExp
Set objRegExpHTTP2 = New RegExp

objRegExpHTTP1.Pattern = "(http|ftp)(:\/\/[\w\._-]+\.[\w\._-]+\S*)"
objRegExpHTTP2.Pattern = "(^|[^\/])(www[^\.\s]?\.[\w\._-]+\.[A-Za-z]{2,3}[\w\S]*)"

objRegExpHTTP1.Global = True
objRegExpHTTP2.Global = True

objRegExpHTTP1.IgnoreCase = True
objRegExpHTTP2.IgnoreCase = True

strOutput = objRegExpHTTP1.Replace(strInput, " <a href='$1$2' target='_blank'>$1$2</a> ")
strOutput = objRegExpHTTP2.Replace(strOutput, " $1<a href='http://$2' target='_blank'>$2</a> ")

objRegExpHTTP2.Pattern = "(<br>|[,.)\]\}])('>)"
strOutput = objRegExpHTTP2.Replace(strOutput, "$2")
objRegExpHTTP2.Pattern = "(<br>|[,.)\]\}])(' target=)"
strOutput = objRegExpHTTP2.Replace(strOutput, "$2")
objRegExpHTTP2.Pattern = "(<br>|[,.)\]\}])(</a>)"
strOutput = objRegExpHTTP2.Replace(strOutput, "$2$1")

Set objRegExpHTTP2 = Nothing
set objRegExpHTTP1 = Nothing

LinkString2 = strOutput
End Function



Og den kaldes sådan her:


str = "Kan man så få www.test.dk/fil.zip til at blive til en link uden at resten af texten også gør dette, det skal helst også understøtte class'en smallink"

response.write linkString2 (str)
Avatar billede eagleeye Praktikant
22. oktober 2002 - 22:40 #2
Du kan også prøve at kigge på netcoder.dk hvor der var en konkurance om hvem ´der kunne lave den "bedste" link konverter.

Vinder:
http://www.netcoders.dk/sources.asp?mode=view_source&cat_id=9&id=859&tech_id=1

runner ups:
http://www.netcoders.dk/sources.asp?mode=view_source&cat_id=9&id=860&tech_id=1
Avatar billede eagleeye Praktikant
22. oktober 2002 - 23:04 #3
du kan ligge function i bunden af din fil:

<html>
<body>
<%... ASP kode... eks:
str = "Kan man så få www.test.dk/fil.zip til at blive til en link uden at resten af texten også gør dette, det skal helst også understøtte class'en smallink"

response.write linkString2 (str)
%>
</body>
</html>
<%
Function LinkString2(strInput)
...
End Function
%>
Avatar billede eagleeye Praktikant
30. oktober 2002 - 15:12 #4
JA? en grund til du afviser ville være 100 letter for mig eller en anden at hjælpe vidre.
Avatar billede roadi Nybegynder
30. oktober 2002 - 15:19 #5
Sorry!

Det jeg søger er en funktion som kan gøre en link aktiv, fx. som her på eksperten. hvis jeg skriver http://www.eksperten.dk så bliver den til et klikbart link, når jeg har submitted formen. og det er det jeg ønsker at bruge.
Avatar billede eagleeye Praktikant
30. oktober 2002 - 15:22 #6
Der er skam også det jeg har vist.

Prøv at ligge function linkString2 ind i en ASP fil.

'Lav en streng:

str = "Kan man så få www.test.dk/fil.zip til at blive til en link uden at resten af texten også gør dette, det skal helst også understøtte class'en smallink"

'Udskriv strengen samme med kald til functionen
response.write linkString2 (str)
Avatar billede eagleeye Praktikant
30. oktober 2002 - 15:23 #7
str kan du hendte fra en tabel i en dabase et input felt fra en form:

str = Request.Form("besked")
Avatar billede roadi Nybegynder
30. oktober 2002 - 15:26 #8
okey, så er det bare mig der ikke har forstået det rigtigt..
Avatar billede eagleeye Praktikant
30. oktober 2002 - 15:31 #9
Du kan lave en form med et textarea eksvis:

<form action="xxxx.asp" method="post">
<TEXTAREA NAME="besked" cols="45" rows="6"</TEXTAREA>
<input type="submit" name="Gem" value="Gem">
</form>

Hvis du så skriver noget tekst i det textarea og udksirver det på den side som modtager formen:

str = Request.Form("besked")
response.write linkString2 (str)
Avatar billede roadi Nybegynder
30. oktober 2002 - 15:36 #10
Nu har jeg prøvet og får følgene fejl

Microsoft VBScript compilation error '800a03ee'

Expected ')'

/dev/roadi/linkstr.asp, line 23

strOutput = objRegExpHTTP2.Replace(strOutput, " $1&lt;a href='<A href="http://$2" target=_blank>http://$2</A>' target='_blank'&gt;$2&lt;/a&gt; ")
-----------------------------------------------------------------------^
Avatar billede eagleeye Praktikant
30. oktober 2002 - 15:39 #11
Prøv at kopier teksten fra eksperen ind i notepad føst og så copy/paste fra notepad ind i din HTML/ASP editor den har lavet  < og til &lt; og > omtil &gt;
Avatar billede roadi Nybegynder
01. november 2002 - 20:25 #12
Eagleeye -> Kan du ikke lige lave et svar mere. Så jeg kan give dig dine fortjente point.. Jeg er ked af at jeg misforstod dit første svar, nu virker det og jeg er meget tilfreds.

1000 tak for hjælpen..

Jeg skal bare lige rode lidt med DB udtrækket, men det skulle ikke være noget problem..

/Roadi
Avatar billede eagleeye Praktikant
01. november 2002 - 20:42 #13
OK :)
Avatar billede roadi Nybegynder
01. november 2002 - 20:46 #14
Endnu engang tak for hjælpen, jeg har fået DB udtrækket til at virke..

/Roadi
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester