= 240 ){ // 4 octets
$contr1 = ($val-240) * 262144;
$contr2 = (ord($chn{++$i})-128) * 4096;
$contr3 = (ord($chn{++$i})-128) * 64;
$contr4 = ord($chn{++$i})-128;
$res .= "".($contr1+$contr2+$contr3+$contr4).";"; // en gras
}else{
if( $val >= 224 ){ // 3 octets
$contr1 = ($val-224) * 4096;
$contr2 = (ord($chn{++$i})-128) * 64;
$contr3 = ord($chn{++$i})-128;
$res .= "".($contr1+$contr2+$contr3).";"; // en maigre
}else{ // 2 octets
$contr1 = ($val-192) * 64;
$contr2 = ord($chn{++$i})-128;
$res .= "".($contr1+$contr2).";"; // en maigre
}
}
}
}
return $res;
}// function entites
function trans ($tablignes){ // arg. tableau de lignes , renvoie un tableau de lignes
$k = 0;
$rtab = array();
foreach ( $tablignes as $ligne ){
//trim($ligne);
$rligne = entites($ligne);
$rtab[$k] = $rligne."
\n";
$k++;
}
return $rtab;
} // trans
function extrans($fichIn, $fichOut){ // arg 2 noms de fichier
$SORTIE = fopen($fichOut, "w");
$tab = file($fichIn);
$res = trans($tab);
foreach( $res as $lgn ){
fputs($SORTIE, "$lgn");
}
} // extrans
extrans($argv[1], $argv[2]);
?>