webForumDet fria alternativet

Regulära uttryck och len()

ASP

5 svar · 391 visningar · startad av ampy

Medlem sedan feb. 20011 498 inlägg
Frågan#1

Har denna kod för att göra länkar klickbara:

Text = RegExp.Replace(Text, "$1<a href=""http://$2"" target=""_blank"">$2</a>")

Nu vill jag kolla om $2 (som är url) innehåller fler än 50 tecken.

Om $2 innehåller fler än 50 tecken vill jag korta av den och lägga till tre punkter i mitten. Precis som långa länkar här på wF fungerar.

Hur ska man göra?

Medlem sedan sep. 2003301 inlägg
#2

Eh!!!

If Len(myStr)>50 Then
   myStr = Left(myStr,24) & "..." & Right(myStr,23)
End If
Medlem sedan feb. 20011 498 inlägg
#3

Nu är det $2 jag vill kolla och inte en "vanlig" variabel.

Medlem sedan sep. 2003301 inlägg
#4

Och det är en vad ???

Medlem sedan dec. 19996 721 inlägg
#5

Använd inte regexpens replace-metod, utan plocka ut matchningarna med RegExp.Execute och gör ersättningarna med vanliga replace. Däremellan kan du behandla strängarna hur du vill.

Medlem sedan maj 200010 687 inlägg
#6

Eller så kan man göra en ny replace direkt efter.
http://www.webforum.nu/showthread.php?s=&postid=878407#post878407

257 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
126 ms — deklarationer (db)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)
125 ms — ändringar (db)