Hvordan kan jeg få æ, ø og å med htmlspecialchars?

En tråd i 'PHP, SQL og databaser' startet av Mr Vest, 17 Okt 2009.

  1. Mr Vest

    Mr Vest Sjefen over alle sjefer!

    Innlegg:
    2.079
    Føler meg litt teit her nå da jeg føler jeg burde kunne dette. Syns ikke Google var så mye til hjelp heller faktisk. Jeg er i en situasjon hvor jeg bruker dette:

    Kode:
    $utdrag = strip_tags($kategori_nyheter[news]);
    $utdrag = htmlspecialchars($utdrag, ENT_QUOTES);
    $utdrag = substr($utdrag, 0,70);
    Jeg vil at dette lille utdraget skal vise også æ, ø og å. Disse blir nå f.eks å for å.
     
  2. olafmoriarty

    olafmoriarty Medlem

    Innlegg:
    751
    Legg til mellom nest siste og siste linje

    $utdrag = str_replace(array('æ', 'Æ', 'ø', 'Ø', 'å', 'Å'), array('æ', 'Æ', 'ø', 'Ø', 'å', 'Å'), $utdrag);
     
    Mr Vest og testdriver liker dette.
  3. Mr Vest

    Mr Vest Sjefen over alle sjefer!

    Innlegg:
    2.079
    Litt skummelt, men det fungerte faktisk ikke. Det ser ikke ut til at utdraget forandrer seg. Etter jeg har lagt denne til blir utdragene enda f.eks:

    Jeg skriver denne lille nyheten som en liten test nå, mest f

    Kan dette ha med comma som står rett etter?
     
  4. bxc Medlem

    Innlegg:
    21
    Du kan legge til en 3. variabel med charset:
    $utdrag = htmlspecialchars($utdrag, ENT_QUOTES, 'UTF-8');

    (Vil tro du bruker UTF-8 da ISO-8859 er default charset.)
     
    Mr Vest liker dette.
  5. Mr Vest

    Mr Vest Sjefen over alle sjefer!

    Innlegg:
    2.079
    Å, pokker. Det er jeg som er sløv her. Beklager. Jeg hadde glemt at jeg satte htmlspecialchars også når dette ble kjørt inn i databasen. Takk så mye til dere begge for svar. Sikkert to flotte løsninger, men jeg går nok for den som kom først. :)
     
  6. picxx

    picxx Well-Known Member

    Innlegg:
    8.801
    hvorfor ikke bruke html char?
     
  7. Mr Vest

    Mr Vest Sjefen over alle sjefer!

    Innlegg:
    2.079
    Svaret mitt på det spørsmålet picxx er fordi jeg ikke har snøring på hva html char er for noe. :D
     
  8. picxx

    picxx Well-Known Member

    Innlegg:
    8.801
  9. Mr Vest

    Mr Vest Sjefen over alle sjefer!

    Innlegg:
    2.079
    Hmm, men og kode disse direkte inn i en fil går ikke Picxx. Utdraget hentes ut fra en database, og da kan jeg ikke direkte skrive inn slike som det der i en fil for at det skal fungere. Derfor kan man bruke løsninga som Olaf kommer med oppe som da vil sjekke utdraget som kommer ut fra databasen, og dersom dette inneholder noen slike "html chars" da vil alle disse bli endret til f.eks æ, ø og å før disse blir vist til brukeren som surfer på nettsiden.
     
  10. olafmoriarty

    olafmoriarty Medlem

    Innlegg:
    751
    Men nettleseren vil jo vise å som å osv. uansett, så hvorfor må du forandre på dem? Dersom det er å osv som vises i nettleseren, er det fordi du har kjørt htmlspecialchars to ganger, og som du kom fram til vil jo ikke min løsning hjelpe der, så ... Hvorfor kjører du htmlspecialchars i det hele tatt dersom du ikke ønsker entities -- eller ønsker du bare enkelte entities?
     
  11. Mr Vest

    Mr Vest Sjefen over alle sjefer!

    Innlegg:
    2.079
    Jeg bruker faktisk htmlspecialchars for å rive bort absolutt alt av tagger som kommer ut. Disse er det en hel del av her skjønner du, og jeg vil ikke vise noen av disse i utdraget. Årsak til at jeg bruker den er mest fordi jeg fikk dette skrevet i en tråd.

    htmlspecialchars har jeg brukt på en hel del inputs siste tiden faktisk. Er det en dum ting?

    Ellers kan jeg nevne at denne tråden her egentlig var startet i et øyeblikk hvor jeg var enda blondere enn vanlig. Løsningen din var ikke noe for meg (mest fordi det ikke var nødvendig med noen løsning ettersom alt fungerte slik det var.) str_replace() var jo uansett godt å ha med seg videre.
     

Del denne siden