Någon som ekelt förklarar hur man tar http://och-texten-efter-och-gör-om-det-till-en-länk? MEn inte den här texten...
------------------
fencing for you?
http://www.fencing4u.nu/
22 svar · 493 visningar · startad av skarbratt
Någon som ekelt förklarar hur man tar http://och-texten-efter-och-gör-om-det-till-en-länk? MEn inte den här texten...
------------------
fencing for you?
http://www.fencing4u.nu/
En liten funktion:
Function LinkURL(strInput)
iCurrentLocation = 1
Do While InStr(iCurrentLocation, strInput, "http://", 1) <> 0
iLinkStart = InStr(iCurrentLocation, strInput, "http://", 1)
iLinkEnd = InStr(iLinkStart, strInput, " ", 1)
If iLinkEnd = 0 Then iLinkEnd = Len(strInput) + 1
Select Case Mid(strInput, iLinkEnd - 1, 1)
Case ".", "!", "?"
iLinkEnd = iLinkEnd - 1
End Select
strOutput = strOutput & Mid(strInput, iCurrentLocation, iLinkStart - iCurrentLocation)
strLinkText = Mid(strInput, iLinkStart, iLinkEnd - iLinkStart)
strOutput = strOutput & "<A HREF=""" & strLinkText & """>" & Mid(strLinkText,8) & "</A>"
iCurrentLocation = iLinkEnd
Loop
strOutput = strOutput & Mid(strInput, iCurrentLocation)
LinkURL = strOutput
End Function
------------------
PC-älskare prasslar i säven, och har malt i ryggen
www.webeye.nu
Är du med i facket?
Tack, men...
Hade faktiskt lyckats med samma sak, problemet med detta script är bara att om man skriver http://
(Enter utan mellanslag så buggar det ut)
------------------
fencing for you?
http://www.fencing4u.nu/
Min kodsnutt ser ut på följande sätt:
BodyText = TextVal
IF (INSTR(BodyText, "http://") > 0) OR (INSTR(BodyText, "@") > 0) THEN
StringArray = SPLIT(BodyText)
FOR i = 0 TO UBOUND(StringArray)
IF INSTR(StringArray(i), "http://") THEN
' Check if external link. Then open new window if link is clicked.
if (InStr(StringArray(i), "http://www.hemsidan.se")) then
target = ""
else
target = "target='_new'"
end if
IF INSTR(StringArray(i), Chr(10)) THEN
StringArray2 = SPLIT(StringArray(i), Chr(10))
StringArray2(0) = "<A HREF='" & StringArray2(0) & "' " & target & ">" & StringArray2(0) & "</A>"
StringArray(i) = JOIN(StringArray2, Chr(10))
ELSE
StringArray(i) = "<A HREF='" & StringArray(i) & "' " & target & ">" & StringArray(i) & "</A>"
END IF
END IF
IF INSTR(StringArray(i), "@") THEN
IF INSTR(StringArray(i), Chr(10)) THEN
StringArray2 = SPLIT(StringArray(i), Chr(10))
StringArray2(0) = "<A HREF='mailto:" & StringArray2(0) & "'>" & StringArray2(0) & "</A>"
StringArray(i) = JOIN(StringArray2, Chr(10))
ELSE
StringArray(i) = "<A HREF='mailto:" & StringArray(i) & "'>" & StringArray(i) & "</A>"
END IF
END IF
NEXT
BodyText = JOIN(StringArray, " ")
END IF
BodyText = CheckSQLStringOut(BodyText)
------------------
fencing for you?
http://www.fencing4u.nu/
[Redigerat av skarbratt den 28 aug 2000]
Har gjort en sån grej i JScript:
function snyggaTill(tmp, firstChar){
tmp += "";
tmp = tmp.replace(/\r\n/g, "\n");
tmp = tmp.replace(/\r/g, "\n");
tmp = tmp.replace(/\n/g, "\r\n" + firstChar);
return firstChar + tmp;
}
//Skapa links ur ickeparsad txt
function makeLinks(arg){
arg += "";
reg = /http:\/\/\S+/gi;
hits = arg.match(reg)
arg = Server.HTMLEncode(arg);
if(hits){
for(var i = 0; i < hits.length; i++) arg = arg.replace(Server.HTMLEncode(hits[ i]), "<a href=\"" + hits[ i] + "\" target=\"_blank\">" + hits[ i] + "</a>");
}
return snyggaTill(arg, "<br>");
}
[r]
Anropas makeLinks("texten som ska fixas till"), funkar bra att göra det från vbscript.
[/r]
------------------
-- spango
Livet står på lur alldeles bakom knuten.
[Redigerat av spango den 28 aug 2000]
Får det inte att funka vad gör jag för fel tror du?
Exakt hur skall jag få det att fungera?
------------------
fencing for you?
http://www.fencing4u.nu/
Jag byggde en komponent för den här typen av funktioner för ett tag sedan. Ursprungligen innehåller den funktioner för att bestämma target beroende på länkens innehåll, men denna lilla snutt (konverterad till VBScript) borde funka ändå. Den länkar upp mailadresser också, samt ord som börjar på "www.".
strText är texten som ska parsas
mDelimit = Chr(0)
Set re = New RegExp
re.Global = True
re.IgnoreCase = true
re.Pattern = "(\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+)"
strText = re.Replace(strText, "<a href=""mailto" & mDelimit & ":$1"">$1</a>")
re.Pattern = "(http://|https://|ftp://|mailto:)(\S)(\S+)"
strText = re.Replace(strText, "<a href=""$1$2" & mDelimit & "$3"">$2" & mDelimit & "$3</a>")
re.Pattern = "(www\.(\S)(\S+))"
strText = re.Replace(strText, "<a href=""http://$1"">$1</a>")
strText = Replace(strText, mDelimit, "")
[Redigerat av emission den 29 aug 2000]
Länken jag fick av Tmed funkar inte bättre än något av de andra kodexemplena.
Om man använder sig av "Enterslag" efter länken och sedan skrivver något buggar det liksom ut.
------------------
fencing for you?
http://www.fencing4u.nu/
sedan verkar inte kodexemplena med "New RegExp" fungera för mig får bara error...
------------------
fencing for you?
http://www.fencing4u.nu/
Det kräver den senaste versionen av scripting engine. Väl värt nedladdningsbesväret.
http://msdn.microsoft.com/scripting/default.htm?/scripting/vbscript/download/vbsdown.htm
Har installerat men får fortfarande Syntaxfel: på den här raden "Set re = New RegExp"
------------------
fencing for you?
http://www.fencing4u.nu/
Lustigt. Har du installerat den på rätt maskin? ;)
Verkar fungera nu, men skall testa lite till innan jag hoppar högt, men har dock redan börjat småhoppa lite här i stolen.
[Redigerat av skarbratt den 30 aug 2000]
Tack emission!
Man förstår att du inte håller på med jobbiga saker som att bära flytlådor utan ängar dig åt det du är bäst på asp kod... länge leve den nya kungen!
------------------
fencing for you?
http://www.fencing4u.nu/
den nya kungen?
emission har varit kung länge! :)
------------------
<A HREF="http://www.cartman.nu" TARGET=_blank>
mannen, myten, mutanten.</A>
Jo, men det har varit mest en ploj grej. Men jag har inset nu att det måste vara min uppgit i livet att se till att han flyttar in i det stora slottet och blir en riktig kung... *ler*
------------------
fencing for you?
http://www.fencing4u.nu/
Jag får inte det att funka, som jag fattde det så ska jag klistra in
mDelimit = Chr(0) Set re = New RegExp re.Global = True re.IgnoreCase = true re.Pattern = "(\\w+((-\\w+)|(\\.\\w+))\*\\@\[A-Za-z0-9\]+((\\.|-)\[A-Za-z0-9\]+)\*\\.\[A-Za-z0-9\]+)" strText = re.Replace(strText, "\<a href=""mailto" & mDelimit & ":$1""\>$1\</a\>") re.Pattern = "(http://|https://|ftp://|mailto:)(\\S)(\\S+)" strText = re.Replace(strText, "\<a href=""$1$2" & mDelimit & "$3""\>$2" & mDelimit & "$3\</a\>") re.Pattern = "(www\\.(\\S)(\\S+))" strText = re.Replace(strText, "\<a href=""http://$1""\>$1\</a\>") strText = Replace(strText, mDelimit, "")
i viewmsg.asp, så att filen set ur så här:
<!--#include file="functions.inc"-->
<%
Set Connection = Server.CreateObject("ADODB.Connection")
Connection.Open Session("forumdb")
SQLStmt = "SELECT * FROM Forums where Id = " & Request("ForumId")
Set RS = Connection.Execute(SQLStmt)
SQLStmt = "SELECT *, Format$([date],'yyyy/mm/dd') AS FormDate, Format$([date],'hh:mm') AS FormTime FROM Entries where Id = " & Request("Id")
SQLStmt = SQLStmt & " AND OrgThread = True"
Set RS2 = Connection.Execute(SQLStmt)
SQLStmt = "SELECT *, Format$([date],'yyyy/mm/dd') AS FormDate, Format$([date],'hh:mm') AS FormTime FROM Entries where ReplyId = " & Request("Id")
SQLStmt = SQLStmt & " AND OrgThread = False Order by Id Desc"
Set RS3 = Connection.Execute(SQLStmt)
mDelimit = Chr(0) Set re = New RegExp re.Global = True re.IgnoreCase = true re.Pattern = "(\\w+((-\\w+)|(\\.\\w+))\*\\@\[A-Za-z0-9\]+((\\.|-)\[A-Za-z0-9\]+)\*\\.\[A-Za-z0-9\]+)" strText = re.Replace(strText, "\<a href=""mailto" & mDelimit & ":$1""\>$1\</a\>") re.Pattern = "(http://|https://|ftp://|mailto:)(\\S)(\\S+)" strText = re.Replace(strText, "\<a href=""$1$2" & mDelimit & "$3""\>$2" & mDelimit & "$3\</a\>") re.Pattern = "(www\\.(\\S)(\\S+))" strText = re.Replace(strText, "\<a href=""http://$1""\>$1\</a\>") strText = Replace(strText, mDelimit, "")
%>
<html>
<head>
<link REL="stylesheet" HREF="../godzilla/newcostodiastyle.css" TYPE="text/css">
<title>Costodia Forum</title>
<meta name="Author" content="Martin Persson">
<meta name="Company" content="Ebid Handelsbolag">
<meta name="Publishied" content="2000">
<meta name="Copyright" content="Ebid Handelsbolag">
</head>
<body MARGINHEIGHT="0" MARGINWIDTH="0" bgcolor="#FFFFFF" text="#000000" topmargin="0"
leftmargin="0" vlink="#0000FF">
<table border="0" width="601">
<tr>
<td width="200" valign="top" colspan="2"><img src="images/forumlogga.gif" WIDTH="265"
HEIGHT="108"></td>
</tr>
<tr>
<td width="168" valign="top"><p align="right"><img src="images/dottedvertical.gif"
alt="dottedvertical.gif (956 bytes)" WIDTH="2" HEIGHT="361"></td>
<td valign="top" width="532"><p align="left">Tänk på att använda ett vårdat språk
när du gör inlägg i<br>
våra forum. Oseriösa inlägg tas bort efter behov.</p>
<p align="left"><img src="dottedline.gif" alt="dottedline.gif (909 bytes)" WIDTH="360"
HEIGHT="2"></p>
<table border="0" width="400">
<tr>
<td width="239" align="center"><img src="images/back.gif" alt="back.gif (57 bytes)"
WIDTH="12" HEIGHT="9"> <a href="forumthreads.asp?ForumId=<%=RS("Id")%>">Tillbaka till <%=RS("Forum")%></a></td>
<td width="153" align="center"><img src="images/post.gif" alt="havemail.gif (513 bytes)"
WIDTH="12" HEIGHT="9"> <a
href="forumpost.asp?ForumId=<%=RS("Id")%>&MessageId=<%=RS2("Id")%>">Besvara inlägget</a></td>
</tr>
</table>
<table border="0" width="400" cellspacing="0">
<tr>
<td width="57" class="newmediaNORMALsheet" align="left">Forum: </td>
<td width="339" class="newmediaNORMALsheet"><%= HTMLTecken(RS("Forum"))%>
</td>
</tr>
<tr>
<td width="57" class="newmediaNORMALsheet" align="left">Rubrik: </td>
<td width="339" class="newmediaNORMALsheet"><%= HTMLTecken(RS2("Subject"))%>
</td>
</tr>
</table>
<table border="0" width="400">
<tr>
<td width="65%" class="newmediaNORMALsheet">Namn: <%= HTMLTecken(RS2("Name"))%></td>
<td width="35%" class="newmediaNORMALsheet">Datum: <%= HTMLTecken(RS2("FormDate"))%></td>
</tr>
<tr>
<td width="65%" class="newmediaNORMALsheet">E-post: <a href="mailto:<% = RS2("Email")%>"><% = HTMLTecken(RS2("Email"))%></a></td>
<td width="35%" class="newmediaNORMALsheet">Tid: <%=RS2("FormTime")%></td>
</tr>
<tr>
<td width="50%" colspan="2">Original post:<br>
<%= radbryt(HTMLTecken(RS2("Comment")))%> <br>
</td>
</tr>
<tr>
<td width="50%" colspan="2"><img src="dottedline.gif" width="360" height="2"
alt="dottedline.gif (909 bytes)"></td>
</tr>
</table>
<p>Uppföljare:</p>
<table border="0" width="400">
<tr>
<td width="100%"><ul>
<% Do until RS3.EOF %>
<li><a
href="viewmsg.asp?Id=<%=RS2("Id")%>&ForumId=<%=RS("Id")%>&Showsub=<%=RS3("Id")%>">Re:
<%= RS2("Subject")%> (<%= HTMLTecken(RS3("Name"))%>, <%= RS3("FormDate")%> <%= RS3("FormTime")%> ) </a></li>
<% If Len(Trim(Request("Showsub"))) > 0 And Trim(Request("Showsub")) = Trim(RS3("Id")) Then %>
<!-- Insert -->
<%=radbryt(HTMLTecken(RS3("Comment")))%>
<!-- End -->
<% End If%>
<%
RS3.MoveNext
Loop
%>
</ul>
</td>
</tr>
</table>
<p><img src="dottedline.gif" width="360" height="2" alt="dottedline.gif (909 bytes)"></p>
<p><a style="cursor:hand" class="standard10"
onclick="window.external.AddFavorite(location.href, document.title);">Lägg till denna
sida i dina Favoriter</a></td>
</tr>
</table>
<p> </p>
<p> </p>
</body>
</html>
<%
Rs.Close
Rs2.Close
rs3.close
Connection.Close %>
men på http://www.costodia.com/forum/viewmsg.asp?id=314&ForumId=10 visas skripterror nu.
------------------
Tack på förhand
Mvh Martin Persson
www.Costodia.com
Nä. För det första så tappade du bort alla radbrytningar. För det andra måste du mata in ett värde i strText (skriptet är inte magiskt ;) )
nu har jag gjort scriptet med radbrytningar så det ser ut så här:
<html>
<head>
<link REL="stylesheet" HREF="../godzilla/newcostodiastyle.css" TYPE="text/css">
<title>Costodia Forum</title>
<meta name="Author" content="Martin Persson">
<meta name="Company" content="Ebid Handelsbolag">
<meta name="Publishied" content="2000">
<meta name="Copyright" content="Ebid Handelsbolag">
</head>
<body MARGINHEIGHT="0" MARGINWIDTH="0" bgcolor="#FFFFFF" text="#000000" topmargin="0"
leftmargin="0" vlink="#0000FF">
<table border="0" width="601">
<tr>
<td width="200" valign="top" colspan="2"><img src="images/forumlogga.gif" WIDTH="265"
HEIGHT="108"></td>
</tr>
<tr>
<td width="168" valign="top"><p align="right"><img src="images/dottedvertical.gif"
alt="dottedvertical.gif (956 bytes)" WIDTH="2" HEIGHT="361"></td>
<td valign="top" width="532"><p align="left">Tänk på att använda ett vårdat språk
när du gör inlägg i<br>
våra forum. Oseriösa inlägg tas bort efter behov.</p>
<p align="left"><img src="dottedline.gif" alt="dottedline.gif (909 bytes)" WIDTH="360"
HEIGHT="2"></p>
<table border="0" width="400">
<tr>
<td width="239" align="center"><img src="images/back.gif" alt="back.gif (57 bytes)"
WIDTH="12" HEIGHT="9"> <a href="forumthreads.asp?ForumId=10">Tillbaka till Design</a></td>
<td width="153" align="center"><img src="images/post.gif" alt="havemail.gif (513 bytes)"
WIDTH="12" HEIGHT="9"> <a
href="forumpost.asp?ForumId=10&MessageId=314">Besvara inlägget</a></td>
</tr>
</table>
<table border="0" width="400" cellspacing="0">
<tr>
<td width="57" class="newmediaNORMALsheet" align="left">Forum: </td>
<td width="339" class="newmediaNORMALsheet">Design
</td>
</tr>
<tr>
<td width="57" class="newmediaNORMALsheet" align="left">Rubrik: </td>
<td width="339" class="newmediaNORMALsheet">Design
</td>
</tr>
</table>
<table border="0" width="400">
<tr>
<td width="65%" class="newmediaNORMALsheet">Namn: Design</td>
<td width="35%" class="newmediaNORMALsheet">Datum: 2000-08-15</td>
</tr>
<tr>
<td width="65%" class="newmediaNORMALsheet">E-post: <a href="maimailto:design@Design.se">Design@Design.se</a></td>
<td width="35%" class="newmediaNORMALsheet">Tid: 19:02</td>
</tr>
<tr>
<td width="50%" colspan="2">Original post:<br>
<P>Design</P> <br>
</td>
</tr>
<tr>
<td width="50%" colspan="2"><img src="dottedline.gif" width="360" height="2"
alt="dottedline.gif (909 bytes)"></td>
</tr>
</table>
<p>Uppföljare:</p>
<table border="0" width="400">
<tr>
<td width="100%"><ul>
\<li\>\<a
href="viewmsg.asp?Id=314&ForumId=10&Showsub=339"\>Re:
Design (Webmaster, 2000-09-10 13:16) </a></li>
\<li\>\<a
href="viewmsg.asp?Id=314&ForumId=10&Showsub=338"\>Re:
Design (Webmaster, 2000-09-10 13:15) </a></li>
\<li\>\<a
href="viewmsg.asp?Id=314&ForumId=10&Showsub=337"\>Re:
Design (Webmaster, 2000-09-10 13:14) </a></li>
<!-- Insert -->
<P>Titta gärna in på det nya deisgncentret på http://www.costodia.com/design/index.shtml\</P>
<!-- End -->
\</ul\>
\</td\>
\</tr\>
\</table\>
\<p\>\<img src="dottedline.gif" width="360" height="2" alt="dottedline.gif (909 bytes)"\>\</td\>
</tr>
</table>
<p> </p>
<p> </p>
</body>
</html>
och satte värdet 1 i strText
jag är lite ny på asp, håller på att lära mig, jag gissade at man skulle skriva i en siffra är det rätt?
Tack på förhand,
Mvh Martin Persson
www.Costodia.com
jag testade igen på "]http://www.costodia.com/forum/viewmsg.asp?id=340&ForumId=10 men du funkar inte.
[Redigerat av costodia den 11 sep 2000]