Avatar billede likedon Nybegynder
17. marts 2005 - 10:06 Der er 18 kommentarer og
1 løsning

split af streng

Haster:
link:
http://www.domain.dk/nyhedsbrev/test/link.php?navn=hans&url=http://www.nydomain.dk/page206.aspx?sortfield206=6&direction206=asc&doshow206=1&searchword206=5099720272496


jeg skal have lavet sådan at jeg får pillet
navn=hans
og url=http://www.nydomain.dk/page206.aspx?sortfield206=6&direction206=asc&doshow206=1&searchword206=5099720272496

ud af hele linket
det kan ikke være så svært men som noob i php hjælp
Avatar billede likedon Nybegynder
17. marts 2005 - 10:07 #1
hele linket kan ikke ses men det skulle heller ikke betyde noget for funktionen, håber i kan hjælpe
Avatar billede coderdk Praktikant
17. marts 2005 - 10:20 #2
Sådan?

    $link = 'http://www.domain.dk/nyhedsbrev/test/link.php?navn=hans&url=http://www.nydomain.dk/page206.aspx?sortfield206=6&direction206=asc&doshow206=1&searchword206=5099720272496';
    list( $url, $skrald, $param ) = explode( '?', $link );
    $nytlink = $url . '?' . $param;
    echo $nytlink;
Avatar billede Daniel.E Praktikant
17. marts 2005 - 10:23 #3
du har godt af at lære noget om for løkker.

Der er sikket mange som siger " Du skal bare bruge den her funktion".  ja men, det dur ikke altid.  Man bliver nød til at kunne sin for løkke parsing.

$i = NULL;
for($i=0;$i<strlen($buffer);$i++) {
if($buffer[$i]=='n' && $buffer[$i+1]=='a' && $buffer[$i+2]=='v' && $buffer[$i+3]=='n') {
// gør noget nyt her
}
}

her er selve iden bag hvad jeg mener.

En ting som er vigtigt som mange glemmer er:

- Folk glemmer at lære det basale, og godtager funktioner som udføre det samme.

- Det er vigtigere at kunne det basale end at kunne forstå en funktion.
Avatar billede likedon Nybegynder
17. marts 2005 - 10:30 #4
virker jo som sådan men hvordan fanger jeg linket fra browseren?
Avatar billede coderdk Praktikant
17. marts 2005 - 10:34 #5
Aha, du sagde intet om at det var fra din browsers adresselinje ;)

    $link = "http://" . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
    list( $url, $skrald, $param ) = explode( '?', $link );
    $nytlink = $url . '?' . $param;
    echo $nytlink;
Avatar billede detox Nybegynder
17. marts 2005 - 10:36 #6
Hvis det er i adresselinjen, kan du vel bare hente værdierne i:

$navn = $_GET['navn'];
$url = $_GET['url'];
Avatar billede coderdk Praktikant
17. marts 2005 - 10:37 #7
vb2, Tjah. Du bruger jo selv en funktion der (strlen), så den holder ikke helt - Plus funktionerne er en del af sproget, og gør tingene meget hurtigere end du kan programmere dem i PHP ;)
Desuden kan du, hvis det var muligt i PHP, få buffer overflow hvis den ikke indeholder "navn" ;)
Avatar billede detox Nybegynder
17. marts 2005 - 10:38 #8
Hmmm, nevermind min kommentar :(
Avatar billede likedon Nybegynder
17. marts 2005 - 10:52 #9
http://www.delusion.dk/xxx/testlink.php?url=http://www.xxx.dk/page206.aspx?sortfield206=6&direction206=asc&doshow206=1&searchword206=5099720272496

Taj har nogle problemr, ved dog ikke om det er webhotellet. Jeg tester det hos danhost, som både kan køre php og asp på samme domain

hvis jeg ændre der hvor der står .aspx til noget andet får jeg da et link ud, det er så bare ikke det rigtige, men prøv lige at klikke på linket så kan du se
Avatar billede coderdk Praktikant
17. marts 2005 - 10:54 #10
404 fejl for dit script...
Avatar billede likedon Nybegynder
17. marts 2005 - 11:04 #11
prøv at ændre .aspx til .spx midt i linket, så får du ikke 404, så der går jo et eller andet galt
Avatar billede coderdk Praktikant
17. marts 2005 - 11:08 #12
Det ser satme underligt ud - Det må være din server ;)
Den dør også af: http://www.delusion.dk/xxx/testlink.php?url=.aspx - Den må tro at du prøver at åbne filen "testlink.php?url=.aspx" - Tsk tsk. Windows og IIS ;)
Avatar billede likedon Nybegynder
17. marts 2005 - 11:11 #13
det er nu ellers meningen at alt php skal køre over bsd'en skal vist have fat i den. Nå men jeg prøver at smide det over til wannafind
Avatar billede likedon Nybegynder
17. marts 2005 - 11:22 #14
Avatar billede coderdk Praktikant
17. marts 2005 - 11:24 #15
Ok nu er jeg så ikke helt med, hvad præcist vil du have smidt væk?
Avatar billede likedon Nybegynder
17. marts 2005 - 11:31 #16
det køre på et domain, men jeg skal efter lidt databasesjov sende brugeren videre til at andet domain.

det med at sende videre er jo ikke så svært, hvis jeg da bare kunne få hentet linket ned som den skal sende videre til (url=xxxx)
problemet opstår måske ved at der indgår flere "?" i hele linket?
Avatar billede coderdk Praktikant
17. marts 2005 - 11:55 #17
Smider du selv URL'en op i adresselinjen? For så kan du sige:

$url = "testlink.php?url=" . base64_encode( $url );

og når du skal sende dem videre:

  header( "Location: " . base64_decode( $_GET['url'] ) );

Du kan også prøve at køre den igennem urlencode() eller urlrawencode()
Avatar billede coderdk Praktikant
17. marts 2005 - 11:56 #18
For at svare på dit spørgsmål, ja, det er et problem at ? indgår, og samme med & (hvis den skulle have været en del af den "nye" URL, da den vil komme til at "høre til" dit script...
Avatar billede likedon Nybegynder
17. marts 2005 - 11:59 #19
har fået det hele til at virke ved at bytte lidt rundt i dine sager dine point er velfortjenet
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