/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
Dekod usenet emne
Fra : scootergrisen


Dato : 23-10-11 19:49

Et emne i usenet kan for eksempel være kodet som her :

=?iso-8859-1?Q?M=E6rkelig_visning_i_IE?=

Så bruger jeg denne kode til at dekode emnet :

if(preg_match("/=\?([a-zA-Z0-9\-]*)\?([A-Za-z]{1})\?(.*)\?=/",
$string, $matches)){

Det virker fint med det forrige eksempel.



Men her er et emne hvor der skal dekodes 2 gange :
Desuden ser der ud til at være indsat liniskift og tabulator efter den
første ?= men er ikke sikker.


=?ISO-8859-1?Q?html=2Fcss_liste=2Dmenu_med_undermenupunkter_virker_ikke?=
   =?ISO-8859-1?Q?_p=E5_iPad?=

Det vil sige der er 2 strenge der skal dekodes i emnet.

Også med den kode jeg har nu bliver det til følgende som er forkert :

html/css liste-menu med undermenupunkter virker ?=
=?ISO-8859-1?Q?ikke på iPad

Altså min preg_match() tager den forkerte ?= . Den skal jo tage den
første den møder og ikke den der er til sidst som den gør nu.

 
 
scootergrisen (23-10-2011)
Kommentar
Fra : scootergrisen


Dato : 23-10-11 20:45

Jeg får desuden denne fejl besked :

Unknown: Invalid quoted-printable sequence: = =?ISO-8859-1?Q?ikke p=E5
iPad (errflg=3)

.... når jeg forsøger at dekode denne streng :

=?ISO-8859-1?Q?html=2Fcss_liste=2Dmenu_med_undermenupunkter_virker_ikke?=
   =?ISO-8859-1?Q?_p=E5_iPad?=

Martin Larsen (24-10-2011)
Kommentar
Fra : Martin Larsen


Dato : 24-10-11 08:58

scootergrisen wrote:

> Et emne i usenet kan for eksempel være kodet som her :
>
> =?iso-8859-1?Q?M=E6rkelig_visning_i_IE?=

Brug iconv_mime_decode() :

$s = "=?iso-8859-1?Q?M=E6rkelig_visning_i_IE?=";

echo iconv_mime_decode($s); // Mærkelig visning i IE


$s="=?ISO-8859-1?Q?html=2Fcss_liste=2Dmenu_med_undermenupunkter_virker_ikke?=
=?ISO-8859-1?Q?_p=E5_iPad?=";

echo iconv_mime_decode($s); // html/css liste-menu med undermenupunkter
virker ikke på iPad



scootergrisen (24-10-2011)
Kommentar
Fra : scootergrisen


Dato : 24-10-11 18:43

> Brug iconv_mime_decode() :

Fedt. Det virker heldigvis også på webhotellet.

Kan jeg også bruge iconv_mime_decode() til selve beskeden ?
Eller hvad kan jeg bruge der ?

Martin Larsen (24-10-2011)
Kommentar
Fra : Martin Larsen


Dato : 24-10-11 22:35

scootergrisen wrote:

> Kan jeg også bruge iconv_mime_decode() til selve beskeden ?
> Eller hvad kan jeg bruge der ?

Prøv!

Stig Johansen (24-10-2011)
Kommentar
Fra : Stig Johansen


Dato : 24-10-11 10:18

scootergrisen wrote:

> Så bruger jeg denne kode til at dekode emnet :
>
> if(preg_match("/=\?([a-zA-Z0-9\-]*)\?([A-Za-z]{1})\?(.*)\?=/",
> $string, $matches)){

Du får nok svært ved at bruge regex til dette.

Læs denne her:
http://tools.ietf.org/html/rfc2047

(Der står også lidt om Q? ).

--
Med venlig hilsen
Stig Johansen

Martin Larsen (24-10-2011)
Kommentar
Fra : Martin Larsen


Dato : 24-10-11 10:22

Stig Johansen wrote:

> Du får nok svært ved at bruge regex til dette.

Ja, iconv_mime_decode() klarer det på én linje :)

Stig Johansen (24-10-2011)
Kommentar
Fra : Stig Johansen


Dato : 24-10-11 12:12

Martin Larsen wrote:

> Stig Johansen wrote:
>
>> Du får nok svært ved at bruge regex til dette.
>
> Ja, iconv_mime_decode() klarer det på én linje :)

Jeg modsiger dig ikke Martin - jeg skulle nok have skrevet at du havde
angivet en løsning.

Men jeg kender ikke nok til Webhotellernes verden, og kan ikke afgøre om han
har de krævede libraries installeret.

Pointen var ligeså meget at henvise 'scootergrisen' til en dybere forståelse
af problemstillingen.

Hvis man _forstår_ problemet er løsningen meget lettere at forstå

--
Med venlig hilsen
Stig Johansen

Martin Larsen (24-10-2011)
Kommentar
Fra : Martin Larsen


Dato : 24-10-11 12:16

Stig Johansen wrote:

> Hvis man_forstår_ problemet er løsningen meget lettere at forstå

Ja, det er korrekt. Det er også derfor at sætningen "Google er din ven"
ofte er malplaceret idet spørgeren ikke nødvendigvis har nok
forståelse/indsigt i problemstillingen til at google sig frem til et svar.

Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408914
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste