imap_qprint

(PHP 4, PHP 5)

imap_qprintConvert a quoted-printable string to an 8 bit string

Описание

string imap_qprint ( string $string )

Convert a quoted-printable string to an 8 bit string according to » RFC2045, section 6.7.

Список параметров

string

A quoted-printable string

Возвращаемые значения

Returns an 8 bits string.

Смотрите также

  • imap_8bit() - Конвертирует 8-битную строку в quoted-printable строку

Коментарии

This function seems to have a bug, when the quoted-printable string contains a "=" without the HEX code of a Character.
I use the regular quoted_printable_decode instead.
2000-02-26 14:35:43
http://php5.kiev.ua/manual/ru/function.imap-qprint.html
Some mails are encoded in bad quoted printable format:
I use this function to decode the qprint:

for($i=0;$i<256;$i++)
    { 
    $c1=dechex($i);
    if(strlen($c1)==1){$c1="0".$c1;} 
    $c1="=".$c1;
    $myqprinta[]=$c1;
    $myqprintb[]=chr($i);
    }

function decode($data,$code)

if(!$code){return imap_utf7_decode($data);}
if($code==0){return imap_utf7_decode($data);}
if($code==1){return imap_utf8($data);}
if($code==2){return ($data);}
if($code==3){return imap_base64($data);}
if($code==4){return imap_qprint(str_replace($myqprinta,$myqprintb,($data)));}
if($code==5){return ($data);}

}
2005-08-27 20:55:57
http://php5.kiev.ua/manual/ru/function.imap-qprint.html
If you don't have access to the imap_qprint function and you have to encode URL Decoded and Quoted Printable Strings you receive by Mail try this simple function. But if you don't receive URL Decoded data and the string doesn't contain an = you better use function.quoted-printable-decode

function decode_qprint($str){
$arr= array("A","B","C","D","E","F");
while (list(, $var) = each($arr)) {   
    $i=0;
    while ($i <=9){
        $str=str_replace("=".$var.$i,"%".$var.$i,$str);
        $i++;}
    $arr2 = array("A","B","C","D","E","F");
    while (list(, $val) = each($arr2)) {
        $str=str_replace("=".$var.$val,"%".$var.$val,$str);}}
$str = urldecode($str);
$str = utf8_encode($str);
return $str;}

$s2d='=F6=D6=DF=C4=E4=DC=FC=A9=AE';
$2s2d='%F6';

$output = decode_qprint($s2d);
$output2 = decode_qprint($2s2d);

echo $output;
echo $output2;
2007-03-27 09:35:19
http://php5.kiev.ua/manual/ru/function.imap-qprint.html
Автор:
I just got rid of the loops using a regex.

<?php
function decode_qprint($str) {
   
$str preg_replace("/\=([A-F][A-F0-9])/","%$1",$str);
   
$str urldecode($str);
   
$str utf8_encode($str);
    return 
$str;
}
?>

Thanks for sharing!
2008-11-11 08:52:38
http://php5.kiev.ua/manual/ru/function.imap-qprint.html

    Поддержать сайт на родительском проекте КГБ