Just nu i M3-nätverket
Gå till innehåll
Stefan Eklinder

Problemet bör åtgärdas...

Rekommendera Poster

Erik Junesjö
Lite trött nu men jag ser inte vad som inte kommer med i skärmdumpen... Syftar du inte på den brutalt långa länken som kortats ner?
Min länk http://www.sr.se som syns i första rutan ser jag inte i den andra.

//Erik

 

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser
-OZn-

aha men det beror kanske på att du har två länkar direkt efter varandra?

Då tolkas det som en enda länk...

 

http://www.sr.sehttp://www.sr.se

 

Förstod jag rätt?

 

/OZn

_______________________________________________________

Microchips - De små potatisflingorna du äter allra sist i chipspåsen

[inlägget ändrat 2004-10-07 16:29:53 av OZn]

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser
Erik Junesjö
aha men det beror kanske på att du har två länkar direkt efter varandra?

 

http://www.sr.sehttp://www.sr.se

Jag provade igen nu och nu fungerar det perfekt! Om du skickar mig koden så lägger jag in den.

//Erik

 

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser
-OZn-

Jag lägger in den här när jag städat upp den lite. :)

Kanske fler som har nytta av den...

 

/OZn

_______________________________________________________

Microchips - De små potatisflingorna du äter allra sist i chipspåsen

 

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser
Erik Junesjö
Jag lägger in den här när jag städat upp den lite. :)

Kanske fler som har nytta av den...

Perfekt :)

//Erik

 

[inlägget ändrat 2004-10-19 15:45:29 av Erik Junesjö]

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser
-OZn-

Koden:

 

[log]'**** Korta ner långa länkar ****

Function CutLongLinks(strText)

Set objReg = New regexp

objReg.Global = True

objReg.IgnoreCase = True

'Mönstret kan du ju ändra till det du använder nu...

objReg.Pattern = "(www.[^ ]*[a-z])|(http://[^ ]*[a-z])"

iSIndex = 1

iEIndex = 1

For Each objMatch in objReg.Execute(strText)

'Sätter maxlängd på länk till 40

If Len(objMatch)>40 Then

'Om länk längre än 40tecken så använd endast 25 tecen av början och 10 tecken i slutet av länken

iEIndex = objMatch.FirstIndex

strFix = strFix & Mid(strText, iSIndex, iEIndex-iSIndex+1)

strFix = strFix & "<a href='"&objMatch.Value &"' target='_blank'>"& Left(objMatch.Value,25) &"..."& Right(objMatch.Value,10) &"</a>"

Else

'Om länk mindre än 40 tecken så görs den bara om till en klickbar länk

iEIndex = objMatch.FirstIndex

strFix = strFix & Mid(strText, iSIndex, iEIndex-iSIndex+1)

strFix = strFix & "<a href='"&objMatch.Value &"' target='_blank'>"& objMatch.Value&"</a>"

End If

iSIndex = iEIndex+objMatch.Length+1

Next

Set objReg = Nothing

strFix = strFix & Mid(strText, iSIndex)

CutLongLinks = strFix

End Function

 

'**** Splitta långa ord ****

Function FormatPost(strText)

Set objReg = New RegExp

objReg.Pattern = "([^<>\s]{50,50})([^<>\s]{1,})"

objReg.IgnoreCase = True

objReg.Global = True

strFix=""

iSIndex = 1

iEIndex = 1

For Each objMatch in objReg.Execute(strText)

'Om det inte är en länk lägg in en <br>

If Not Left(objMatch.SubMatches(0),7)="http://"'>http://" Then

iEIndex = objMatch.FirstIndex

strFix = strFix & Mid(strText, iSIndex, iEIndex-iSIndex+1)

strFix = strFix & objMatch.SubMatches(0) & "<br>" & objMatch.SubMatches(1)

iSIndex = iEIndex+objMatch.Length+1

End If

Next

strFix = strFix & Mid(strText, iSIndex)

Set objReg = Nothing

If strText=strFix Then

FormatPost=strFix

Else

FormatPost=FormatPost(strFix)

End If

End Function[/log]

 

Exempel på användning:

Response.Write(CutLongLinks(FormatPost(Replace("http://www.dddddd.dd/fffffffff/rrrrrrrrrrrrrr",VbCrLf," <br>"))))

 

Jag skulle tippa på att du har någon replacefunktion men isåfall behöver du ju bara anropa functionerna därifrån. Notera att det måste vara ett mellanslag innan <br> replacen.

Mönstret på länkarna kan du ju ändra till det ni använder nu. Sen går det ju att fixa så ena funktionen anropar den andra automatiskt. I övrigt kan jag inte garantera att det är buggfritt men nu ligger ju koden här så andra kanske kan fixa med den i så fall :)

 

EDIT: Som du ser så godtar mitt url-mönster även www. Om du vill ha det så eller ha andra mönster som exempelvis ftp:// så måste du lägga till det villkoret i funktionen så inte länken splittas sönder av ett <br>. Det ser du nog själv men jag skriver det ändå:

 

If Not Left(objMatch.SubMatches(0),7)="http://" Or Not Left(objMatch.SubMatches(0),6)="ftp://" Or Not Left(objMatch.SubMatches(0),3)="www" Then

 

/OZn

_______________________________________________________

Microchips - De små potatisflingorna du äter allra sist i chipspåsen

[inlägget ändrat 2004-10-07 17:46:56 av OZn]

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser
-OZn-

Självklart! Har du användning av den så är det bara att klippa/klistra :)

 

/OZn

_______________________________________________________

Microchips - De små potatisflingorna du äter allra sist i chipspåsen

 

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser
Sasja

Tackar, tackar... kan ge dig poäng som ett litet tack! =)

 

[inlägget ändrat 2004-10-12 00:06:44 av Sasja]

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser

Skapa ett konto eller logga in för att kommentera

Du måste vara medlem för att kunna kommentera

Skapa ett konto

Skapa ett nytt konto på vårt forum. Det är lätt!

Registrera ett nytt konto

Logga in

Redan medlem? Logga in här.

Logga in nu



×
×
  • Skapa nytt...