webForumDet fria alternativet

replace URL & IMG

ASP

11 svar · 679 visningar · startad av Mira

Medlem sedan maj 2001966 inlägg
Frågan#1

Hur skriver jag kod för att göra om [ URL] till en länk och att [ img] ska visa en bild?

Länken ska man helst kunna skriva egen text till:
[ url=http://xxx.xx] Länk [/ URL]

Medlem sedan dec. 19998 577 inlägg
#2

Du kan modifiera denna koden:
http://www.webeye.nu/f/topic.asp?TOPIC_ID=11

strText = "Din text eller variabel"
set oRegExp = new regexp
oRegExp.global=true
oRegExp.ignorecase = true
oRegExp.pattern = "\[url=(.*?)\]((.|\n)+?)\[/url\]"
strText = oRegExp.replace( strText, "<a href='$1' target='_blank'>$2</a>" )
Medlem sedan maj 2001966 inlägg
#3

Jag testade en liknande (?) kod, men förstår inte hur den fungerar... ska väl kopplas ihop på nåt sätt antar jag...
Kan man inte göra en vanlig Replace bara...?

Om man skriver in en text i koden så får man ju bara samma hela tiden... eller?
Som sagt, jag fattar inte...

Medlem sedan dec. 19998 577 inlägg
#4

Ja, du kan lägga den i en funktion:

function getAnchor( strText )
  set oRegExp = new regexp
  oRegExp.global=true
  oRegExp.ignorecase = true
  oRegExp.pattern = "\[&#117;rl=(.*?)\]((.|\n)+?)\[/url\]"
  getAnchor = oRegExp.replace( strText, "<a href='$1' target='_blank'>$2</a>" )
end function

response.write getAnchor( "[&#117;rl=http://www.webvide.com]Mitt lilla hem[/url]" )

Du kan alltså skicka med vad du vill, vanlig text, en variabel med text o.s.v

Det borde fungera. :)

Medlem sedan maj 2001966 inlägg
#5

Ok.
Hur får jag en länk som skrivs i en text (Mess) att visas?

    <td valign="top"><%=br(Server.HTMLEncode(RecSet("Mess")))%>
<br><br></td>
Medlem sedan dec. 19998 577 inlägg
#6

Du häktar bara på den på dina andra funktioner, viktigt är att du lägger den utanför HTMLEncode, eftersom den kodar om eventuell HTML-kod, vilket min funktion genererar.

<td valign="top"><%=getAnchor(br(Server.HTMLEncode(RecSet("Mess"))))%>
<br><br></td>
Medlem sedan maj 2001966 inlägg
#7

Toppen!!!

Sen var det det där med IMG...

Medlem sedan dec. 19998 577 inlägg
#8

Då modifierar vi samma funktion (du måste ha både funktionen getAnchor och funktionen getImage med, och båda måste anropas):

För att få en bild när du skriver [img=sökvägen]

function getImage( strText )
  set oRegExp = new regexp
  oRegExp.global=true
  oRegExp.ignorecase = true
  oRegExp.pattern = "\[img=(.*?)\]"
  getImage = oRegExp.replace( strText, "<img src='$1'>" )
end function

För att få en bild när du skriver [img]sökvägen

function getImage( strText )
  set oRegExp = new regexp
  oRegExp.global=true
  oRegExp.ignorecase = true
  oRegExp.pattern = "\[&#105;mg]((.|\n)+?)\[/img\]"
  getImage = oRegExp.replace( strText, "<img src='$1'>" )
end function

Anropa med:

<td valign="top"><%=getImage(getAnchor(br(Server.HTMLEncode(RecSet("Mess")))))%>
<br><br></td>
Medlem sedan maj 2001966 inlägg
#9

Funkar bra det med!
Tusen tack för hjälpen!

Medlem sedan aug. 2002157 inlägg
#10

Nu medans ni ändå håller på här tänkte jag fråga om hur man gör ifall man har en funktion som fixar länkar också. Det är klurigt eftersom det blir en länk i <img-taggen. Jag använder följande funktion:

Function byt(strText)
strText = (strText)
Set objRegExp = New regexp
objRegExp.Global = true
objRegExp.IgnoreCase = true

objRegExp.Pattern = "(http://(\w|\.|/|-|\?|=|&|;|~){1,}\w*)"
strText = objRegExp.Replace(strText,"<a href='$1' target='_blank'>$1</a>")

objRegExp.Pattern = "\40{2,}"
strText = objRegExp.Replace(strText,"  ")

objRegExp.Pattern = "(\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+)"
strText = objRegExp.Replace(strText,"<a href=""mailto" & mDelimit & ":$1"">$1</a> &nbsp")

objRegExp.pattern = "\

Medlem sedan maj 2001966 inlägg
#11

Nu behöver jag hjälp med att sätta ihop dessa 2 funktioner.
Dvs. så att jag kan göra en bild till en länk.

T.ex:

[url=http://xxxxxx][img=http://img.jpg][/url]
Medlem sedan juni 20019 519 inlägg
#12
function getImage( strText )
  set oRegExp = new regexp
  oRegExp.global=true
  oRegExp.ignorecase = true
  oRegExp.pattern = "\[img]((.|\n)+?)\[/img\]"
  getImage = oRegExp.replace( strText, "<img src='$1'>" )
  oRegExp.pattern = "\[img=((.|\n)+?)\]"
  getImage = oRegExp.replace( getImage, "<img src='$1'>" )
end function
255 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
127 ms — deklarationer (db)
0 ms — hämta statistik (cache)
125 ms — hämta tråd, inlägg och bilagor (db)
119 ms — ändringar (db)