petterg Skrevet 8. november 2004 Del Skrevet 8. november 2004 (endret) htmlentities() vil gjøre om f.x. 'å' til '& aring ;'. Finnes det noen tilsvarende funksjon som gjør om 'å' til '& # 229 ;' ? Endret 9. november 2004 av petterg Lenke til kommentar
El Nino Skrevet 8. november 2004 Del Skrevet 8. november 2004 Tenker du på reverse? Da er html_entity_decode() saken. Lenke til kommentar
petterg Skrevet 8. november 2004 Forfatter Del Skrevet 8. november 2004 uff da, der ble forumet til hw.no litt satt ut av tegnsettet Har skrevet posten på nytt nå, og puttet inn noen mellomrom for å få den til å vise spørsmålet riktig Lenke til kommentar
El Nino Skrevet 8. november 2004 Del Skrevet 8. november 2004 prøv med ord() funksjonen.. El Nino Lenke til kommentar
petterg Skrevet 8. november 2004 Forfatter Del Skrevet 8. november 2004 (endret) hva blir greieste måten å få den til å gjøre sånt med et helt html dokument, og bare gjøre det med tegn det er nødvendig å gjøre det på? Edit: med html dokument mente jeg kun body, som jeg vet er fritt for html tagger Endret 8. november 2004 av petterg Lenke til kommentar
El Nino Skrevet 8. november 2004 Del Skrevet 8. november 2004 Det kommer ann på. Er det snakk om å gjøre det kun 1 gang på et html dokument, så kan man jo ta en søk&erstatt der man erstatter de tegnene man ønsker.. Hvis det er snakk om flere karakterer enn de norske bokstavene (æøå) eller at det skal skje flere en 1 gang på det samme html dokument, så ville jeg nok ha lagd en funksjon som bytter ut tegnene.. El Nino Lenke til kommentar
petterg Skrevet 8. november 2004 Forfatter Del Skrevet 8. november 2004 html body kommer fra database lookup. Må altså gjøres 'on-the-fly'. Trodde jeg kunne bruke nl2br(htmlentities($body)) Men det viste seg å være problemer med å ha f.x. & aring ; i wml. Må bruke ascii nummer på slike. Lenke til kommentar
El Nino Skrevet 8. november 2004 Del Skrevet 8. november 2004 $string = nl2br(htmlentities($body)); $string = str_replace("& aring","& # 229",$string); print($string); Er en måte.. Lenke til kommentar
petterg Skrevet 8. november 2004 Forfatter Del Skrevet 8. november 2004 $string = nl2br(htmlentities($body)); $string = str_replace("& aring","& # 229",$string); print($string); Er en måte.. Det blir sinsykt mange søk for å gå igjennom hele tegntabellen da. Det er vel et sted mellom 60 og 100 tegn som blir til å syntax etter htmlentities. Kanskje en form for preg_replace med erstatning hentet fra en tabell kan lette det litt... Lenke til kommentar
Torbjørn Skrevet 8. november 2004 Del Skrevet 8. november 2004 idet man vet at en streng i seg selv er binære data, kan man enkelt bruke unpack for å få ut bokstavkoden for en streng med flere tegn, slik: $content ="Hei på deg"; echo join("",array_map(create_function('$a','return sprintf("%03d;",$a);'),unpack("C*", $content))); Lenke til kommentar
petterg Skrevet 9. november 2004 Forfatter Del Skrevet 9. november 2004 Den koden skjønte jeg ikke mye av... Den konverterer i hvertfall en hel streng til ascii verdier, uansett tegn. Fins det ingen måte å gjøre det samme på, men bare de tegnene som htmlentities ville konvertert, og latt alle andre tegn være som de er? Lenke til kommentar
petterg Skrevet 9. november 2004 Forfatter Del Skrevet 9. november 2004 HA! en løsning som tilsynelatende virker: $wmltab = get_html_translation_table(HTML_ENTITIES); while(list($key, $val) = each($wmltab)) { $wmltab[$key] = "".ord($key).";"; } $tekst = "En <tekst> med \"(anførsel) og æøå"; $wmltekst = strtr($tekst, $wmltab); Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå