Avatar billede snoezel Nybegynder
15. september 2005 - 17:20 Der er 9 kommentarer og
1 løsning

function url encode/decode

Hejsa.

Hvordan får jeg nedenstående function til at outputte et decoded link, jeg føder det med en encoded link, ellers fejler den ved læsning af images.ini
*******************************************

<?php



  $IMG_CONFIG_FILE = 'images.ini';



  # You shouldn't need to change anything below this point

  function showImage( $ini=null ) {
    global $IMG_CONFIG_FILE;
    # if no custom ini file has been specified, use the default
    $ini_file = $ini ? $ini : $IMG_CONFIG_FILE;
    # read the config file into an array or die trying
    $images = @parse_ini_file($ini_file,true);
    if (! $images) {
      die('Unable to read ini file.');
    }
    # pick a random image from the parsed config file
    $img = array_rand($images);
    # get the selected image's css id if one exists
    $id = $images[$img]['id'] ?
      sprintf( ' id="%s" ', $images[$img]['id'] ) :
      '';
    # get the selected image's css class if one exists
    $class = $images[$img]['class'] ?
      sprintf( ' class="%s" ', $images[$img]['class'] ) :
      '';
    # get selected image's dimensions
    $size = @getimagesize( $images[$img]['src'] );
    # if an url was specified, output the opening A HREF tag
    if ( $images[$img]['url'] ) {
      printf(
        '<a href="%s" title="%s">',
        $images[$img]['url'],
        $images[$img]['title']
      );
    }
    # output the IMG tag
    printf(
      '<img src="%s" alt="%s" %s %s%s/>',
      $images[$img]['src'],
      $images[$img]['alt'],
      $size[3],
      $id,
      $class
    );
    # if an url was specified, output the closing A HREF tag
    if ( $images[$img]['url'] ) {
      echo('</a>');
    }
  }


?>
Avatar billede snoezel Nybegynder
15. september 2005 - 17:23 #1
images.ini
*****************************
[a]
src  = imgesa/a.jpg
alt  = a
url  = http://www.domæne.dk?et:ellerandet
title = a

[b]
src  = img/b.jpg
alt  = b img
url  = http://www.domæne.dk?et:ellerandet
title = b
Avatar billede nielle Nybegynder
15. september 2005 - 17:38 #2
Prøv at rette denne her kodenlok:

if ( $images[$img]['url'] ) {
    printf(
        '<a href="%s" title="%s">',
        $images[$img]['url'],
        $images[$img]['title']
    );
}

- til dette:

if ( $images[$img]['url'] ) {
    printf(
        '<a href="%s" title="%s">',
        urlencode($images[$img]['url']),
        $images[$img]['title']
    );
}
Avatar billede snoezel Nybegynder
15. september 2005 - 18:09 #3
output er stadig encoded :(
Avatar billede nielle Nybegynder
15. september 2005 - 18:35 #4
Kan du ikke lige give nogle eksempler på hvordan input ser ud og hvordan output så ser ud?
Avatar billede snoezel Nybegynder
15. september 2005 - 18:43 #5
nielle-din ændring var faktisk ok, jeg har blot ændret til urlDecode, da det var det jeg ville have ud af det, og ikke encode - smider du lige et svar :-)
Avatar billede snoezel Nybegynder
15. september 2005 - 18:45 #6
jeg lavede så også en fejl i eksempel på images.ini ovenstående, det skulle have været: http://www.domæne.dk%3Fetellerandet, som skulle blive til http://www.domæne.dk?etellerandet
Avatar billede nielle Nybegynder
15. september 2005 - 19:22 #7
Svar :^)
Avatar billede nielle Nybegynder
27. september 2005 - 22:13 #8
Du mangler så bare at acceptere svaret.
Avatar billede snoezel Nybegynder
28. september 2005 - 08:40 #9
Ja det må du undskylde, jeg var sikker på at jeg havde trykke accepter tidligere, hmm
Avatar billede nielle Nybegynder
28. september 2005 - 17:01 #10
Takker for point :^)
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