Avatar billede backside Nybegynder
02. april 2005 - 23:02 Der er 30 kommentarer og
1 løsning

Fjern http://www fra link.

Hvordan fjerner jeg "http://www" fra et link jeg trækker ud af min db?
Så jeg feks. kun viser eksperten.dk og ikke http://www.eksperten.dk

echo "$row[info]<br>";
echo " <a href='" . $row['url'] . "'>" .  $row['url'] . "</a><br>";

Og hvordan får jeg den til at åbne i nyt vindue.
Avatar billede backside Nybegynder
02. april 2005 - 23:09 #1
Det er denne her det drejer sig om:
http://www.backside.dk/eksperten_filer/vis_link.php
Avatar billede jakobdo Ekspert
02. april 2005 - 23:10 #2
Prøv denne:
echo " <a target='_blank' href='" . $row['url'] . "'>" .  str_ireplace("http://www", "", $row['url']) . "</a><br>";
Avatar billede bromer Nybegynder
02. april 2005 - 23:12 #3
str_replace('http://www.','',$url);
Avatar billede backside Nybegynder
02. april 2005 - 23:12 #4
Nope, får fejl i stil med dem jeg selv har lavet ca. 200 af.  ;)
Avatar billede detox Nybegynder
02. april 2005 - 23:15 #5
str_ireplace() er så først tilgængelig fra php > 5.0.
Avatar billede backside Nybegynder
02. april 2005 - 23:17 #6
detox>> PHP 4.3.3
Avatar billede bromer Nybegynder
02. april 2005 - 23:19 #7
du burde ikke få en fejl. Jeg testede den med http://www.eksperten.dk og det blev fint til eksperten.dk
Avatar billede barklund Nybegynder
02. april 2005 - 23:22 #8
echo " <a target='_blank' href='" . $row['url'] . "'>" .  preg_replace("#http://www#i", "", $row['url']) . "</a><br>";

Vel blot?

--
Morten Barklund
Avatar billede backside Nybegynder
02. april 2005 - 23:23 #9
bromer>> jakobdo´s virkede fint da jeg fik det "i" væk.
Din fik jeg ikke til at spille. Men tak alligevel.
Avatar billede barklund Nybegynder
02. april 2005 - 23:24 #10
Well, så virker den ikke hvis et link er hTtp://wWw eller har andre store bogstaver ind imellem :)
Avatar billede backside Nybegynder
02. april 2005 - 23:25 #11
ok, tester jeg lige så.
Avatar billede backside Nybegynder
02. april 2005 - 23:27 #12
Korrekt. Og den virker heller ikke hvis man undlader www.
Prøver lige det næste forslag.
Avatar billede bromer Nybegynder
02. april 2005 - 23:29 #13
ingen af forslagene virker hvis man undlader http:// eller hvis man undlader www
Avatar billede backside Nybegynder
02. april 2005 - 23:32 #14
Ok, det må jeg leve med. Takker for hjælpen.
Smid nogle svar, jeg deler point lige.
Avatar billede barklund Nybegynder
02. april 2005 - 23:35 #15
echo " <a target='_blank' href='" . $row['url'] . "'>" .  preg_replace("#http://(www\.)?#i", "", $row['url']) . "</a><br>";

Er det så - og da du ikke havde sagt, at det skulle virke uden www før til sidst, så kunne vi jo ikke gætte det - og havde derfor ikke lavet det,

--
Morten Barklund
Avatar billede backside Nybegynder
02. april 2005 - 23:36 #16
Havde ikke tænkt på den mulighed. Prøver lige...
Avatar billede bromer Nybegynder
02. april 2005 - 23:37 #17
jeg takker nej tak til points.. du kan bare give dem til barklund
Avatar billede backside Nybegynder
02. april 2005 - 23:40 #18
Nu er det kun uden http://www og uden http:// der ikke virker.
Men det kan jeg godt leve med. Man kan vel slet ikke undvære http på nogen måde.
Takker endnu en gang.
Avatar billede barklund Nybegynder
02. april 2005 - 23:49 #19
Jeg forstår ikke helt, hvad det er, der ikke virker. Men det skyldes nok, at du ikke rigtig har forklaret alt hvad det skal kunne. Du startede jo med at sige, at det bare skal fjerne http://www forrest i et link - men i virkeligheden var det jo ikke bare det.

Hvis du forklarede lidt mere, får du bedre hjælp - eksemplificer endelig.

Men tark for points :)

--
Morten Barklund
Avatar billede voirsous Nybegynder
03. april 2005 - 00:57 #20
Du bør også tage højde for https:// og evt. konventere til 'småtegn' via strtolower();
Avatar billede backside Nybegynder
03. april 2005 - 03:16 #21
barklund>> Ja, det er korrekt at jeg ikke forklarede nøjagtigt hvad jeg ville. Men det var faktisk jer der forklarede mig hvad jeg ville opnå.  Hvis du forstår....
Jeg tænkte ikke langt nok simpelthen.

voirsous>> Jo, men det må blive i næste time. *G*
Jeg leger bare lidt med at skrive til, og læse fra databasen. Er stadig "grøn".
Og endnu en gang lærte jeg lidt. Måske bliver jeg klog en dag.  he he
Avatar billede backside Nybegynder
03. april 2005 - 03:19 #22
Ja, https:// ville den heller ikke tage.
Men jeg tror jeg er kommet hen hvor jeg ville med dette spørgsmål.
Avatar billede jakobdo Ekspert
03. april 2005 - 08:21 #23
Hvad med noget i stil med:

$nytekst = preg_replace('/(https?:\/\/)?www.([a-z_\\.\\-]+)/i', "<a target='_blank' href='\" . $0 . \"'>\"$2\"</a><br>\";", $tekst);
Avatar billede barklund Nybegynder
03. april 2005 - 11:10 #24
Vi har jo netop en url liggende for sig i en variabel - så vi skal ikke parse url'er ud af en tekst. Altså noget med:

echo " <a target='_blank' href='" . $row['url'] . "'>" .  preg_replace("#https?://(?:www\.)?#i", "", $row['url']) . "</a><br>";

Så fanger vi heller ikke eventuelle "www." i en undermatch - vi skal jo ikke bruge den til noget :)

Hvis http:// eventuelt ikke er en del af url'en, så skal det for det første proppes på inden i href og ikke fjernes uden for:

echo " <a target='_blank' href='" . (strpos($row['url'],'http://') !== 0 ? 'http://' : '') . $row['url'] . "'>" .  preg_replace("#(?:https?://)?(?:www\.)?#i", "", $row['url']) . "</a><br>";

Så skulle den være ganske intelligent :)

--
Morten Barklund
Avatar billede backside Nybegynder
03. april 2005 - 13:32 #25
Ser godt ud. Jeg ser på det senere, Skal ud af døren nu.
Avatar billede backside Nybegynder
03. april 2005 - 21:49 #26
barklund>> Den giver nogle andre problemer desværre.
Avatar billede bromer Nybegynder
03. april 2005 - 22:00 #27
jamen hvilke problemer giver den?
Avatar billede backside Nybegynder
03. april 2005 - 22:04 #28
Du kan se links her: http://www.backside.dk/eksperten_filer/vis_link.php
Men jeg holder mig til det der er kommet  indtil nu.
Vi er alligevel ude i noget jeg ikke fatter en bønne af. Det var mest for at lære lidt, jeg skal ikke rigtig bruge den "tilføj link" ting. Prøvede bare at blive klogere. (er da også lykkedes en smule tror jeg)  ;)
Avatar billede bromer Nybegynder
03. april 2005 - 22:09 #29
og dit problem er dette?

"
test uden http://
www.backside.dk
"

det burde ikke være et problem, hvis du benytter den sidste barklund skrev hvor "http://" bliver smidt på strengen, hvis det ikke allerede er der.

Og hvis det var for at blive klogere må du endelig skrive, hvad løsningen du ikke forstår så skal vi nok prøve at beskrive det. Du må dog nøjes med mig i et par timer da barklund er i biografen :)
Avatar billede backside Nybegynder
03. april 2005 - 22:21 #30
hTtp og https virker ikke med barklund´s forslag.
Du er velkommen til selv at tilføje alt det du vil.
Avatar billede backside Nybegynder
03. april 2005 - 22:26 #31
Kan slet ikke koncentrere mig i dag, mangler søvn.
Jeg takker for indsatsen og hopper i drømmeland.
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