Anzeige/Entfernen von Byte Order Marks (BOM)
bearbeitet von Jörg ReinholzMoin!
Das Problem mit den BOM haben offenbar viele. Deshalb als Skript für alle:
~~~ php
<?php
function rmBOM($str, $replacment='') {
$boms=array(
urldecode('%EF%BB%BF'), #UTF-8
urldecode('%FE%FF'), #UTF-16 (BE)
urldecode('%FF%FE'), #UTF-16 (LE)
urldecode('00%00%FE%FF'), #UTF-32 (BE)
urldecode('FF%FE%00%00'), #UTF-32 (LE)
urldecode('2B%2F%76%38'), #UTF-7
urldecode('2B%2F%76%39'), #UTF-7
urldecode('2B%2F%76%2B'), #UTF-7
urldecode('2B%2F%76%2F'), #UTF-7
urldecode('2B%2F%76%38%2D'), #UTF-7
urldecode('%F7%64%4C'), #UTF-1
urldecode('%DD%73%66%73'), #UTF-EBCDIC
urldecode('%0E%FE%FF'), #SCSU
urldecode('%FB%EE%28'), #BOCU-1
urldecode('%84%31%95%33') #GB-18030
);
return str_replace($boms, $replacment, $str);
}
#/* Test:
$s='<klaus.mann@example.de%EF%BB%BF>';
$schadhaft=urldecode($s);
echo 'Schadhaft: ', $schadhaft, "\n";
echo 'Anzeige: ', rmBOM($schadhaft, '#BOM!#'), "\n";
echo 'Bereinigt: ', rmBOM($schadhaft), "\n";
#*/
~~~
Jörg Reinholz
Das Problem mit den BOM haben offenbar viele. Deshalb als Skript für alle:
~~~ php
<?php
function rmBOM($str, $replacment='') {
$boms=array(
urldecode('%EF%BB%BF'), #UTF-8
urldecode('%FE%FF'), #UTF-16 (BE)
urldecode('%FF%FE'), #UTF-16 (LE)
urldecode('00%00%FE%FF'), #UTF-32 (BE)
urldecode('FF%FE%00%00'), #UTF-32 (LE)
urldecode('2B%2F%76%38'), #UTF-7
urldecode('2B%2F%76%39'), #UTF-7
urldecode('2B%2F%76%2B'), #UTF-7
urldecode('2B%2F%76%2F'), #UTF-7
urldecode('2B%2F%76%38%2D'), #UTF-7
urldecode('%F7%64%4C'), #UTF-1
urldecode('%DD%73%66%73'), #UTF-EBCDIC
urldecode('%0E%FE%FF'), #SCSU
urldecode('%FB%EE%28'), #BOCU-1
urldecode('%84%31%95%33') #GB-18030
);
return str_replace($boms, $replacment, $str);
}
#/* Test:
$s='<klaus.mann@example.de%EF%BB%BF>';
$schadhaft=urldecode($s);
echo 'Schadhaft: ', $schadhaft, "\n";
echo 'Anzeige: ', rmBOM($schadhaft, '#BOM!#'), "\n";
echo 'Bereinigt: ', rmBOM($schadhaft), "\n";
#*/
~~~
Jörg Reinholz
Anzeige/Entfernen von Byte Order Marks (BOM)
bearbeitet von Jörg ReinholzMoin!
Das Problem mit den BOM haben offenbar viele. Deshalb als Skript für alle:
~~~ php
<?php
function rmBOM($str, $replacment='') {
$boms=array(
urldecode('%EF%BB%BF'),
urldecode('%FE%FF'),
urldecode('%FF%FE'),
urldecode('00%00%FE%FF'),
urldecode('FF%FE%00%00'),
urldecode('2B%2F%76%38'),
urldecode('2B%2F%76%39'),
urldecode('2B%2F%76%2B'),
urldecode('2B%2F%76%2F'),
urldecode('2B%2F%76%38%2D'),
urldecode('%F7%64%4C'),
urldecode('%DD%73%66%73'),
urldecode('%0E%FE%FF'),
urldecode('%FB%EE%28'),
urldecode('%84%31%95%33')
);
return str_replace($boms, $replacment, $str);
}
#/* Test:
$s='<klaus.mann@example.de%EF%BB%BF>';
$schadhaft=urldecode($s);
echo 'Schadhaft: ', $schadhaft, "\n";
echo 'Anzeige: ', rmBOM($schadhaft, '#BOM!#'), "\n";
echo 'Bereinigt: ', rmBOM($schadhaft), "\n";
#*/
~~~
Jörg Reinholz
Das Problem mit den BOM haben offenbar viele. Deshalb als Skript für alle:
~~~ php
<?php
function rmBOM($str, $replacment='') {
$boms=array(
urldecode('%EF%BB%BF'),
urldecode('%FE%FF'),
urldecode('%FF%FE'),
urldecode('00%00%FE%FF'),
urldecode('FF%FE%00%00'),
urldecode('2B%2F%76%38'),
urldecode('2B%2F%76%39'),
urldecode('2B%2F%76%2B'),
urldecode('2B%2F%76%2F'),
urldecode('2B%2F%76%38%2D'),
urldecode('%F7%64%4C'),
urldecode('%DD%73%66%73'),
urldecode('%0E%FE%FF'),
urldecode('%FB%EE%28'),
urldecode('%84%31%95%33')
);
return str_replace($boms, $replacment, $str);
}
#/* Test:
$s='<klaus.mann@example.de%EF%BB%BF>';
$schadhaft=urldecode($s);
echo 'Schadhaft: ', $schadhaft, "\n";
echo 'Anzeige: ', rmBOM($schadhaft, '#BOM!#'), "\n";
echo 'Bereinigt: ', rmBOM($schadhaft), "\n";
#*/
~~~
Jörg Reinholz
Anzeige/Entfernen von Byte Order Marks (BOM)
bearbeitet von Jörg ReinholzMoin!
~~~ php
<?php
function rmBOM($str, $replacment='') {
$boms=array(
urldecode('%EF%BB%BF'),
urldecode('%FE%FF'),
urldecode('%FF%FE'),
urldecode('00%00%FE%FF'),
urldecode('FF%FE%00%00'),
urldecode('2B%2F%76%38'),
urldecode('2B%2F%76%39'),
urldecode('2B%2F%76%2B'),
urldecode('2B%2F%76%2F'),
urldecode('2B%2F%76%38%2D'),
urldecode('%F7%64%4C'),
urldecode('%DD%73%66%73'),
urldecode('%0E%FE%FF'),
urldecode('%FB%EE%28'),
urldecode('%84%31%95%33')
);
return str_replace($boms, $replacment, $str);
}
#/* Test:
$s='<klaus.mann@example.de%EF%BB%BF>';
$schadhaft=urldecode($s);
echo 'Schadhaft: ', $schadhaft, "\n";
echo 'Anzeige: ', rmBOM($schadhaft, '#BOM!#'), "\n";
echo 'Bereinigt: ', rmBOM($schadhaft), "\n";
#*/
~~~
Jörg Reinholz
~~~ php
<?php
function rmBOM($str, $replacment='') {
$boms=array(
urldecode('%EF%BB%BF'),
urldecode('%FE%FF'),
urldecode('%FF%FE'),
urldecode('00%00%FE%FF'),
urldecode('FF%FE%00%00'),
urldecode('2B%2F%76%38'),
urldecode('2B%2F%76%39'),
urldecode('2B%2F%76%2B'),
urldecode('2B%2F%76%2F'),
urldecode('2B%2F%76%38%2D'),
urldecode('%F7%64%4C'),
urldecode('%DD%73%66%73'),
urldecode('%0E%FE%FF'),
urldecode('%FB%EE%28'),
urldecode('%84%31%95%33')
);
return str_replace($boms, $replacment, $str);
}
#/* Test:
$s='<klaus.mann@example.de%EF%BB%BF>';
$schadhaft=urldecode($s);
echo 'Schadhaft: ', $schadhaft, "\n";
echo 'Anzeige: ', rmBOM($schadhaft, '#BOM!#'), "\n";
echo 'Bereinigt: ', rmBOM($schadhaft), "\n";
#*/
~~~
Jörg Reinholz
Anzeige/Entfernen von Byte Order Marks (BOM)
bearbeitet von Jörg ReinholzMoin!
~~~ php
<?php
function rmBOM($str, $replacment='') {
$boms=array(
urldecode('%EF%BB%BF'),
urldecode('%FE%FF'),
urldecode('%FF%FE'),
urldecode('00%00%FE%FF'),
urldecode('FF%FE%00%00'),
urldecode('2B%2F%76%38'),
urldecode('2B%2F%76%39'),
urldecode('2B%2F%76%2B'),
urldecode('2B%2F%76%2F'),
urldecode('2B%2F%76%38%2D'),
urldecode('%F7%64%4C'),
urldecode('%DD%73%66%73'),
urldecode('%0E%FE%FF'),
urldecode('%FB%EE%28'),
urldecode('%84%31%95%33')
);
return str_replace($boms, $replacment, $str);
}
#/* Test:
$s='<klaus.mann@example.de%EF%BB%BF>';
$schadhaft=urldecode($s);
echo 'Schadhaft: ', $schadhaft, "\n";
echo 'Anzeige: ', rmBOM($schadhaft, '#'), "\n";
echo 'Bereinigt: ', rmBOM($schadhaft), "\n";
#*/
~~~
Jörg Reinholz
~~~ php
<?php
function rmBOM($str, $replacment='') {
$boms=array(
urldecode('%EF%BB%BF'),
urldecode('%FE%FF'),
urldecode('%FF%FE'),
urldecode('00%00%FE%FF'),
urldecode('FF%FE%00%00'),
urldecode('2B%2F%76%38'),
urldecode('2B%2F%76%39'),
urldecode('2B%2F%76%2B'),
urldecode('2B%2F%76%2F'),
urldecode('2B%2F%76%38%2D'),
urldecode('%F7%64%4C'),
urldecode('%DD%73%66%73'),
urldecode('%0E%FE%FF'),
urldecode('%FB%EE%28'),
urldecode('%84%31%95%33')
);
return str_replace($boms, $replacment, $str);
}
#/* Test:
$s='<klaus.mann@example.de%EF%BB%BF>';
$schadhaft=urldecode($s);
echo 'Schadhaft: ', $schadhaft, "\n";
echo 'Anzeige: ', rmBOM($schadhaft, '#'), "\n";
echo 'Bereinigt: ', rmBOM($schadhaft), "\n";
#*/
~~~
Jörg Reinholz
Anzeige/Entfernen von Byte Order Marks (BOM)
bearbeitet von Jörg ReinholzMoin!
~~~ php
<?php
function rmBOM($str, $replacment='') {
$boms=array(
urldecode('%EF%BB%BF'),
urldecode('%FE%FF'),
urldecode('%FF%FE'),
urldecode('00%00%FE%FF'),
urldecode('FF%FE%00%00'),
urldecode('2B%2F%76%38'),
urldecode('2B%2F%76%39'),
urldecode('2B%2F%76%2B'),
urldecode('2B%2F%76%2F'),
urldecode('2B%2F%76%38%2D'),
urldecode('%F7%64%4C'),
urldecode('%DD%73%66%73'),
urldecode('%0E%FE%FF'),
urldecode('%FB%EE%28'),
urldecode('%84%31%95%33')
);
return str_replace($boms, $replacment, $str);
}
#/* Test:
$s='<klaus.mann@example.de%EF%BB%BF>';
$schadhaft=urldecode($s);
echo 'Anzeige: ', rmBOM($schadhaft, '#'), "\n";
echo 'Bereinigt: ', rmBOM($schadhaft, ''), "\n";
#*/
~~~
Jörg Reinholz
~~~ php
<?php
function rmBOM($str, $replacment='') {
$boms=array(
urldecode('%EF%BB%BF'),
urldecode('%FE%FF'),
urldecode('%FF%FE'),
urldecode('00%00%FE%FF'),
urldecode('FF%FE%00%00'),
urldecode('2B%2F%76%38'),
urldecode('2B%2F%76%39'),
urldecode('2B%2F%76%2B'),
urldecode('2B%2F%76%2F'),
urldecode('2B%2F%76%38%2D'),
urldecode('%F7%64%4C'),
urldecode('%DD%73%66%73'),
urldecode('%0E%FE%FF'),
urldecode('%FB%EE%28'),
urldecode('%84%31%95%33')
);
return str_replace($boms, $replacment, $str);
}
#/* Test:
$s='<klaus.mann@example.de%EF%BB%BF>';
$schadhaft=urldecode($s);
echo 'Anzeige: ', rmBOM($schadhaft, '#'), "\n";
echo 'Bereinigt: ', rmBOM($schadhaft
#*/
~~~
Jörg Reinholz
Anzeige/Entfernen von Byte Order Marks (BOM)
bearbeitet von Jörg ReinholzMoin!
~~~ php
<?php
function rmBOM($str, $replacment='') {
$boms=array(
urldecode('%EF%BB%BF'),
urldecode('%FE%FF'),
urldecode('%FF%FE'),
urldecode('00%00%FE%FF'),
urldecode('FF%FE%00%00'),
urldecode('2B%2F%76%38'),
urldecode('2B%2F%76%39'),
urldecode('2B%2F%76%2B'),
urldecode('2B%2F%76%2F'),
urldecode('2B%2F%76%38%2D'),
urldecode('%F7%64%4C'),
urldecode('%DD%73%66%73'),
urldecode('%0E%FE%FF'),
urldecode('%FB%EE%28'),
urldecode('%84%31%95%33')
);
return str_replace($boms, $replacment, $str);
}
#/* Test:
$s='<klaus.mann@example.de%EF%BB%BF>';
$schadhaft=urldecode($s);
echo 'Anzeige: ', rmBOM($schadhaft, '#'), "\n";
echo 'Bereinigt: ', rmBOM($schadhaft, ''), "\n";
#*/
~~~
Jörg Reinholz