Avatar billede moso Nybegynder
21. juli 2005 - 12:56 Der er 3 kommentarer og
1 løsning

Søg/erstat .htm med .asp på lokale links!

Jeg kan ikke finde ud af hvordan jeg skal sætte min søgning sammen. Kommer med et eksempel:
Her skal der søges efter .htm og erstatte med .asp
<a href="/mappe/index.htm">link</a>
mens der i denne ikke skal:
<a href="http://www.link.dk/mappe/index.htm">link</a>
Jeg går udfra at den skal ligne noget ala det her:
søg efter a href tag som ikke indeholder "http" og erstat "htm" med "asp".
Jeg kan ikke bare lave en generel søg og erstat for så risikerer jeg at alle eksterne links bliver lavet om! Jeg har ca. 500 html sider så det vil tage MEGET lang tid at løbe det igennem i hånden.
Håber der er nogen der har et forslag til hvordan man kan løse det...
Avatar billede ksoren Nybegynder
21. juli 2005 - 14:35 #1
Prøv denne her, den burde ignorere alle links som starter med http

<%
str = "<a href=""http://www.link.dk/mappe/index.htm"">link</a>"

Set re = New RegExp
re.Global = True
re.IgnoreCase = True
re.Pattern = "(<a\s+.*?href=""(?!http://).*?\.)htm("")"

newstr = re.Replace(str, "$1asp$2")
%>
Avatar billede moso Nybegynder
21. juli 2005 - 15:01 #2
<a href="http://www.test.dk">test</a>

<a href="/test.htm">test</a>

Jeg har prøvet at søge på disse 2 og den finder ingen af dem. Jeg ved ikke om jeg har forklaret mig nok: Jeg bruger en søg/erstat-funktion hvor jeg kan indtaste regular expression og erstatte
Avatar billede moso Nybegynder
21. juli 2005 - 16:52 #3
Fandt løsningen:
I søg: (<a href="/)([A-Za-z0-9\_\s\.-=";/0]*)(htm)
I erstat: <a href="/$2asp
Nøglen ligger i backslash i den første parentes. Her kan kun lokale links passe ind.
Tak for hjælpen til ksoren. Lidt point for at svare vil jeg gerne give...
Avatar billede moso Nybegynder
25. august 2005 - 20:44 #4
lukker
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester