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]
11 svar · 677 visningar · startad av Mira
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]
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>" )
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...
Ja, du kan lägga den i en funktion:
function getAnchor( strText )
set oRegExp = new regexp
oRegExp.global=true
oRegExp.ignorecase = true
oRegExp.pattern = "\[url=(.*?)\]((.|\n)+?)\[/url\]"
getAnchor = oRegExp.replace( strText, "<a href='$1' target='_blank'>$2</a>" )
end function
response.write getAnchor( "[url=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. :)
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>
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>
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 = "\[img]((.|\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>
Funkar bra det med!
Tusen tack för hjälpen!
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>  ")
objRegExp.pattern = "\
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]
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