webForumDet fria alternativet

replace URL & IMG

11 svar · 677 visningar · startad av Mira

MiraMedlem sedan maj 2001966 inlägg
#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]

VideMedlem 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>" )
MiraMedlem 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...

VideMedlem 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. :)

MiraMedlem 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>
VideMedlem 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>
MiraMedlem sedan maj 2001966 inlägg
#7

Toppen!!!

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

VideMedlem 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>
MiraMedlem sedan maj 2001966 inlägg
#9

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

danisMedlem 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 = "\

MiraMedlem 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]
voigtann1Medlem 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
138 ms totalt · 3 externa anrop · v20260731065814-full.3ab8d573
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
135 ms — hämta tråd, inlägg och bilagor (db)