Miglioramento fix UTF-8
This commit is contained in:
parent
0c2ee46576
commit
079f83acbb
|
@ -1356,11 +1356,7 @@ class FatturaElettronica
|
|||
}
|
||||
|
||||
// Non ammesso ’
|
||||
// $descrizione = html_entity_decode($riga['descrizione'], ENT_HTML5, 'UTF-8');
|
||||
$descrizione = str_replace('>', ' ', $riga['descrizione']);
|
||||
$descrizione = str_replace('…', '...', $descrizione);
|
||||
$descrizione = str_replace('’', ' ', $descrizione);
|
||||
$descrizione = str_replace('ø', 'diametro', $descrizione);
|
||||
$descrizione = $riga['descrizione'];
|
||||
|
||||
// Aggiunta dei riferimenti ai documenti
|
||||
if (setting('Riferimento dei documenti in Fattura Elettronica') && $riga->hasOriginalComponent()) {
|
||||
|
|
|
@ -648,9 +648,10 @@ class Validator
|
|||
'—' => '-',
|
||||
'…' => '...',
|
||||
'~' => '-',
|
||||
'®' => '',
|
||||
]);
|
||||
|
||||
$output = preg_replace('/[[:^print:]]/', ' ', utf8_decode($output));
|
||||
$output = self::sanitizeXML($output);
|
||||
}
|
||||
|
||||
// Riduzione delle dimensioni
|
||||
|
@ -686,4 +687,31 @@ class Validator
|
|||
|
||||
return $output;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Removes invalid characters from a UTF-8 XML string
|
||||
*
|
||||
* @param string a XML string potentially containing invalid characters
|
||||
* @return string
|
||||
*/
|
||||
static function sanitizeXML($string)
|
||||
{
|
||||
$result = '';
|
||||
$current = '';
|
||||
$length = strlen($string);
|
||||
|
||||
for ($i=0; $i < $length; $i++) {
|
||||
$current = ord($string{$i});
|
||||
|
||||
if ($current < 0x20 || $current > 0x7E) {
|
||||
$result .= ' ';
|
||||
}
|
||||
else {
|
||||
$result .= chr($current);
|
||||
}
|
||||
}
|
||||
|
||||
return $result;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue