Avatar billede langfinger Nybegynder
22. februar 2004 - 12:35 Der er 9 kommentarer og
2 løsninger

[ob] funktion indbygget!

Hej

Jeg har et lille problem, jeg har tidligere fået lavet en funktion [url]www.minside.dk[/url] hvorefter den så laver et link ud af skidtet. Jeg ønsker nu også at lave [ob], så at hvis jeg skriver [ob]tekst[/ob] laver den et link til ordbog.asp?o=tekst. Problemet er bare at jeg har [url] funktionen og de skal jo flettes sammen!

[url] funktionen:
<%
str = rs("tekst")

iStart = InStr(1,str,"[url]",1)
iSlut= InStr(1,str,"[/url]",1)
do while iStart > 0 and iSlut > 0

  VAR = Mid(str,iStart+5,iSlut-iStart-5)
  link = "<a href=""http://" & VAR & """ target=""_blank"">" & VAR & "</a>"
  if iStart = 1 then
    str = link & Mid(str,iSlut+6)
  else
    str = Left(str,iStart-1) & link & Mid(str,iSlut+6)
  end if   
  iStart = InStr(1,str,"[url]",1)
  iSlut = InStr(1,str,"[/url]",1)
loop

Response.Write Replace(str,vbCrLf,"<br>")
%>

Jeg skal altså have lavet [ob] funktionen og flettet dem sammen!

Mvh.

Mads Jensen
Avatar billede steen Nybegynder
22. februar 2004 - 12:51 #1
<%
str = rs("tekst")

iStart = InStr(1,str,"[url]",1)
iSlut= InStr(1,str,"[/url]",1)
do while iStart > 0 and iSlut > 0

  VAR = Mid(str,iStart+5,iSlut-iStart-5)
  link = "<a href=""http://" & VAR & " target=""_blank"">" & VAR & "</a>"
  if iStart = 1 then
    str = link & Mid(str,iSlut+6)
  else
    str = Left(str,iStart-1) & link & Mid(str,iSlut+6)
  end if   
  iStart = InStr(1,str,"[url]",1)
  iSlut = InStr(1,str,"[/url]",1)
loop

'*********************

iStart = InStr(1,str,"[ob]",1)
iSlut= InStr(1,str,"[/ob]",1)
do while iStart > 0 and iSlut > 0

  VAR = Mid(str,iStart+5,iSlut-iStart-5)
  link = "<a href=""http://ordbog.asp?o=tekst target=""_blank"">" & VAR & "</a>"
  if iStart = 1 then
    str = link & Mid(str,iSlut+6)
  else
    str = Left(str,iStart-1) & link & Mid(str,iSlut+6)
  end if   
  iStart = InStr(1,str,"[ob]",1)
  iSlut = InStr(1,str,"[/ob]",1)
loop
Response.Write Replace(str,vbCrLf,"<br>")
%>
Avatar billede langfinger Nybegynder
22. februar 2004 - 13:01 #2
Hej

Jeg har prøvet med det her:
[ob]Football.dk[/ob] - [url]www.minside.dk[/url]

Men får:
<a href="http://ordbog.asp?o=tekst target="_blank">ootball.dk</a>- <a href="http://www.minside.dk target="_blank">www.minside.dk</a>

Desuden skal [ob]Football.dk[/ob] linke til ordbog.asp?o=Football.dk og ikke ?o=tekst !
Avatar billede eagleeye Praktikant
22. februar 2004 - 13:01 #3
Man kan lave en funktion og kalde den to gange da det er lidt forskelligt fra gang til gang..:


<%
function makeLinks(tmpstr,starttag,sluttag,tmp)
iStart = InStr(1,tmpstr,starttag,1)
iSlut= InStr(1,tmpstr,sluttag,1)
do while iStart > 0 and iSlut > 0
  VAR = Mid(tmpstr,iStart+len(starttag),iSlut-iStart-len(starttag))
  link = "<a href=""" & tmp & VAR & """ target=""_blank"">" & VAR & "</a>"
  if iStart = 1 then
    tmpstr = link & Mid(tmpstr,iSlut+len(sluttag))
  else
    tmpstr = Left(tmpstr,iStart-1) & link & Mid(tmpstr,iSlut+len(sluttag))
  end if   
  iStart = InStr(1,tmpstr,starttag,1)
  iSlut = InStr(1,tmpstr,sluttag,1)
loop
makeLinks = tmpstr
end function

str = rs("tekst")
str = makeLinks(str,"[url]","[/url]","http://")
str = makeLinks(str,"[ob]","[/ob]","ordbog.asp?o=")
Response.Write str
%>
Avatar billede langfinger Nybegynder
22. februar 2004 - 13:06 #4
<a href="ordbog.asp?o=Football.dk target="_blank">Football.dk</a> - <a href="http://www.minside.dk target="_blank">www.minside.dk</a>

Hvordan tilføjer et ekstra " så den ikke laver fejl ?
Avatar billede steen Nybegynder
22. februar 2004 - 13:07 #5
langfinger>> er det steen eller eagleeye du spørger
Avatar billede steen Nybegynder
22. februar 2004 - 13:10 #6
<%
str = rs("tekst")

iStart = InStr(1,str,"[url]",1)
iSlut= InStr(1,str,"[/url]",1)
do while iStart > 0 and iSlut > 0

  VAR = Mid(str,iStart+5,iSlut-iStart-5)
  link = "<a href=""http://" & VAR & " target=""_blank"">" & VAR & "</a>"
  if iStart = 1 then
    str = link & Mid(str,iSlut+6)
  else
    str = Left(str,iStart-1) & link & Mid(str,iSlut+6)
  end if   
  iStart = InStr(1,str,"[url]",1)
  iSlut = InStr(1,str,"[/url]",1)
loop

'*********************

iStart = InStr(1,str,"[ob]",1)
iSlut= InStr(1,str,"[/ob]",1)
do while iStart > 0 and iSlut > 0

  VAR = Mid(str,iStart+5,iSlut-iStart-5)
  link = "<a href=""http://ordbog.asp?o=tekst"" target=""_blank"">" & VAR & "</a>"
  if iStart = 1 then
    str = link & Mid(str,iSlut+6)
  else
    str = Left(str,iStart-1) & link & Mid(str,iSlut+6)
  end if   
  iStart = InStr(1,str,"[ob]",1)
  iSlut = InStr(1,str,"[/ob]",1)
loop
Response.Write Replace(str,vbCrLf,"<br>")
%>
Avatar billede langfinger Nybegynder
22. februar 2004 - 13:10 #7
Jer begge :-)
Avatar billede eagleeye Praktikant
22. februar 2004 - 13:22 #8
Hvis du laver det som to dele skal det vist være sådan her:


<%
str = rs("tekst")

iStart = InStr(1,str,"[url]",1)
iSlut= InStr(1,str,"[/url]",1)
do while iStart > 0 and iSlut > 0

  VAR = Mid(str,iStart+5,iSlut-iStart-5)
  link = "<a href=""http://" & VAR & " target=""_blank"">" & VAR & "</a>"
  if iStart = 1 then
    str = link & Mid(str,iSlut+6)
  else
    str = Left(str,iStart-1) & link & Mid(str,iSlut+6)
  end if   
  iStart = InStr(1,str,"[url]",1)
  iSlut = InStr(1,str,"[/url]",1)
loop

'*********************

iStart = InStr(1,str,"[ob]",1)
iSlut= InStr(1,str,"[/ob]",1)
do while iStart > 0 and iSlut > 0

  VAR = Mid(str,iStart+4,iSlut-iStart-4)
  link = "<a href=""ordbog.asp?o=" & VAR & """ target=""_blank"">" & VAR & "</a>"
  if iStart = 1 then
    str = link & Mid(str,iSlut+5)
  else
    str = Left(str,iStart-1) & link & Mid(str,iSlut+5)
  end if   
  iStart = InStr(1,str,"[ob]",1)
  iSlut = InStr(1,str,"[/ob]",1)
loop
Response.Write Replace(str,vbCrLf,"<br>")
%>
Avatar billede langfinger Nybegynder
22. februar 2004 - 13:25 #9
Med hjælp fra jer begge lykkedes det for mig! Ok, at dele point?
Avatar billede eagleeye Praktikant
22. februar 2004 - 13:27 #10
jeps helt fint med mig :)
Avatar billede steen Nybegynder
22. februar 2004 - 15:25 #11
ja da ;-)
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