Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


ersätt Url länk med något annat

Postades av 2004-05-28 11:52:26 - Håkan Nykvist, i forum asp - allmänt, Tråden har 6 Kommentarer och lästs av 703 personer

Om jag har flera länkar o vill ersätta dem med t ex Link.asp?id=1 osv, hur gör jag det enklast, länkarna ligger blandat med en massa html kod o alla länkar är olika!


Länkar kan vara vad som helst t ex




Vill att det ska stå så här istället




Svara

Sv: ersätt Url länk med något annat

Postades av 2004-05-28 14:28:16 - Andreas Hillqvist

Regular expresions(regexp) ger dig möjlighet att plocka ut och ersätta information i en text.


Svara

Sv: ersätt Url länk med något annat

Postades av 2004-06-07 10:27:54 - Håkan Nykvist

Jo jag vet...men det går väl inte i ett sådant här fall? Jag fick inte till det iaf!


Svara

Sv: ersätt Url länk med något annat

Postades av 2004-06-08 08:39:45 - Andreas Hillqvist

Det går alldeles utmärkt. Tyvärr hinner jag inte nu hjälpa dig skriva de "rugulära uttrycket". Sitter i skolan och läser motorstyrning. Brum, brum. Fast med elmotorer.


Svara

Sv: ersätt Url länk med något annat

Postades av 2004-06-10 16:01:04 - Andreas Hillqvist

Denna funktion kommer fungera med de tagar du angivit här.
<code>
Function TranslateURL(Value)
Select Case Value
Case "http://www.aftonbladet.se"
TranslateURL = "link.asp?id=1.asp"
Case "test.asp"
TranslateURL = "link.asp?id=2.asp"
Case Else
TranslateURL = Value
End Select
End Function

Function EscapeRegExp(Value)
Dim RegExp
Set RegExp = New RegExp
RegExp.Global = True
RegExp.IgnoreCase = True
RegExp.Pattern = "(" + _
"\[" + "|" + _
"\\" + "|" + _
"\^" + "|" + _
"\$" + "|" + _
"\." + "|" + _
"\|" + "|" + _
"\?" + "|" + _
"\*" + "|" + _
"\+" + "|" + _
"\(" + "|" + _
"\)" + _
")"
EscapeRegExp = RegExp.Replace(Value, "\$1")
End Function

Public Function ReplaceLinks(Value)
Dim RegExp
Dim url
Dim Match
Dim Matches
Set RegExp = New RegExp
RegExp.Global = True
RegExp.IgnoreCase = True

'RegExp.Pattern = "<\s*a\s.*href/s*=/s*""?(.*)""?.*>"
RegExp.Pattern = "href\s*=\s*""([^""]*)"""
Set Matches = RegExp.Execute(Value)

ReplaceLinks = Value

For Each Match In Matches
url = Match.SubMatches(0)
RegExp.Pattern = "(href\s*=\s*"")" & EscapeRegExp(url) & "("")"
ReplaceLinks = RegExp.Replace(ReplaceLinks, "$1" & TranslateURL(url) & "$2")
Next

End Function
</code>
Det framkommer inte vilket ID sidorna skall ha. Jag antar att du kommer lägga dessa i en databas och ge dem ett ID. Du kan själv anpassa TranslateURL() funktionen. T. Ex. Kontrollera mot en databas och bara lägga till de som saknas.


Svara

Sv: ersätt Url länk med något annat

Postades av 2004-06-14 09:55:47 - Håkan Nykvist

Kanon, fungerar perfekt!


Svara

Sv: ersätt Url länk med något annat

Postades av 2004-06-29 09:59:07 - Andreas Hillqvist

Om du vill ha mer intiligens i din funktion rekomentderar jag att du istället använder DOM - Document Object Model:
<code>
Function ReplaceLinks(Value, NoMailTo)
Dim Doc
Dim Element
Dim HRef
Set Doc = CreateObject("Microsoft.XMLDOM")
Doc.loadXML "<body>" & Value & "</body>"
If Doc.parseError.errorCode Then
Else
Doc.setProperty "SelectionNamespaces", "xmlns:xsl='http://www.w3.org/1999/XSL/Transform'"
Doc.setProperty "SelectionLanguage", "XPath"

If NoMailTo Then
For Each Element In Doc.selectNodes("//a|//A")
HRef = Element.GetAttribute("href")
If LCase(Left(HRef, 7)) = "mailto:" Then
Else
Element.setAttribute "href", TranslateUrl(HRef)
Debug.Print Element.Text
End If
Next
Else
For Each Element In Doc.selectNodes("//a|//A")
Element.setAttribute "href", TranslateUrl(Element.GetAttribute("href"))
Debug.Print Element.Text
Next
End If
End If
ReplaceLinks = Doc.xml
ReplaceLinks = Mid(ReplaceLinks, 7, Len(ReplaceLinks) - 15)
End Function

Sub TestReplaceLinks()
Const strText = "Getta är en länk till Aftonbladet." & vbCrLf & _
"Här är Test sidan." & vbCrLf & _
"Du kan maill bill på: bill@microsoft.com"

Debug.Print ReplaceLinks(strText, True)




End Sub
</code>
Detta förutsätter att din text inte innehåller ogiltliga taggar. Om så är fallet. KAn du först "tvätta/strippa" bort dessa med regexp. Innan du parsar.


Svara

Nyligen

  • 08:28 Butiksskyltar: Hur upplever utbude
  • 22:31 Slappna av
  • 19:55 kick-off med fokus på hälsa?
  • 19:53 kick-off med fokus på hälsa?
  • 16:24 Föreslå en skönhetsklinik online
  • 16:23 Föreslå en skönhetsklinik online
  • 18:42 Hvor finder man håndlavede lamper
  • 18:41 Hvor finder man håndlavede lamper

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 570 786
27 960
271 761
638
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies