Avatar billede jek Nybegynder
04. februar 2003 - 11:47 Der er 12 kommentarer

relative urls til absolutte

Hej

Jeg forsøger at grabbe en htmlside på en anden webserver, men har lidt bøvl med links og billedreferencer mv.
Jeg skal konverter relative urls til absolutte urls, men programmører har en tendens til, at skrive den samme ting på 50 forskellige måder!!

Eks.
<A HREF="/test.html">test</A>
<A HREF='/test.html'>test</A>
<A HREF=/test.html>test</A>
<A HREF="test.html">test</A>
<A HREF='test.html'>test</A>
<A HREF=test.html>test</A>
Fik jeg dem alle med?

Og det samme med "IMG SRC"

Jeg vil gerne parse en helt html-dokument og konverter alle urls til
<A HREF=test.html>test</A> (eks. for href´s)

Er der nogle af jer der ligger inde med et stykke kode, der kan konverterer fra relative urls til absolutte?

Husk at i toppen af et html-dok kan linket være skrevet som <A HREF=test.html>test</A>, og lidt længere
nede, kan programmøren have valgt at skrive <A HREF="test.html">test</A> !!
Avatar billede nikolajdu Nybegynder
04. februar 2003 - 11:58 #1
Nu er websider jo omfattet af copyright så var det ikke en idé at spørge vedkommende i stedet inden du "grabber" noget som helst???
Avatar billede jek Nybegynder
04. februar 2003 - 12:43 #2
Hvor henne i mit spørgsmål stod der, at jeg IKKE ville spørge først ?
Avatar billede jek Nybegynder
04. februar 2003 - 12:45 #3
RETTELSE

>Jeg vil gerne parse en helt html-dokument og konverter alle urls til
><A HREF=test.html>test</A> (eks. for href´s)
Skulle selvfølgelig ha´ været

Jeg vil gerne parse en helt html-dokument og konverter alle urls til
<A HREF=www.domain.dk/test.html>test</A> (eks. for href´s)
Avatar billede nikolajdu Nybegynder
04. februar 2003 - 12:47 #4
Det ligger vel næsten i ordet "grabbe" - Man grabber ikke hvis man har adgang til kildekoden.

Anyway så kan det relativt nemt fikses med javascript...
Avatar billede nikolajdu Nybegynder
04. februar 2003 - 12:48 #5
eller rettere det villle være nemmere for mig i javascript - skulle der nok stå...
Avatar billede jek Nybegynder
04. februar 2003 - 12:53 #6
Jamen, det kan da være, at en javascript model kan bruges!!
Humlen er, at linkene rammer den rigtige server!
Avatar billede moefelt Nybegynder
04. februar 2003 - 12:54 #7
hvis du bruger en html editor som homesite eller lign., kan du bruge den funktion der hedder find/replace.
Avatar billede nikolajdu Nybegynder
04. februar 2003 - 12:56 #8
Jeg vil bare gerne vide helt præcist hvordan de skal se ud?
Avatar billede moefelt Nybegynder
04. februar 2003 - 12:57 #9
skulle lige være et svar.

Hvis din editor ligger inde med funktionen (gør de fleste - ligesom word) taster du bare i [find]: "<A HREF=" og i [replace]: "<A HREF=www.domain.dk/"
Avatar billede moefelt Nybegynder
04. februar 2003 - 13:00 #10
eller er det mig der misforstår spørgs. totalt? ;-)
Avatar billede jek Nybegynder
04. februar 2003 - 13:11 #11
ja
Avatar billede andy Nybegynder
04. februar 2003 - 21:11 #12
Jeg er bestemt ikke ekspert i regulære udtryk, men her kommer mit bud..

$url = "http://test.dk/";
$string = "<A HREF=\"/prut/test.html\">test</A>";
$string = eregi_replace("<a href=(\"|\')?(/)?(.{1,})(\"|\')?>", "<a href=$url\\3>", $string);
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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



IT-JOB

Cognizant Technology Solutions Denmark ApS

Test Manager

Cognizant Technology Solutions Denmark ApS

Sr. Test Analyst

IT & Co ApS

Systemkonsulent