<?php
headers_sent()?'': header('Content-Type:text/html; charset=UTF-8');?>
<!DOCTYPE html><!-- (c) 2006 - 2013 Dealerdirect B.V. -->
<html lang="NL">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
</head>
<html>
<?
class Stripper{
var $regex;
var $stripped;
var $decoded;
var $current_encoding;
var $result;
function __construct(){
mb_internal_encoding('UTF-8');
//mb_regex_encoding("UTF-8");
setlocale(LC_ALL, ['de_DE@euro', 'de_DE', 'deu_deu']);
}
private function to_utf8( $string ) {
// From http://w3.org/International/questions/qa-forms-utf-8.html
if ( preg_match('%^(?:
[\x09\x0A\x0D\x20-\x7E] # ASCII
| [\xC2-\xDF][\x80-\xBF] # non-overlong 2-byte
| \xE0[\xA0-\xBF][\x80-\xBF] # excluding overlongs
| [\xE1-\xEC\xEE\xEF][\x80-\xBF]{2} # straight 3-byte
| \xED[\x80-\x9F][\x80-\xBF] # excluding surrogates
| \xF0[\x90-\xBF][\x80-\xBF]{2} # planes 1-3
| [\xF1-\xF3][\x80-\xBF]{3} # planes 4-15
| \xF4[\x80-\x8F][\x80-\xBF]{2} # plane 16
)*$%xs', $string) ) {
return $string;
} else {
return iconv( 'CP1252', 'UTF-8', $string);
}
}
function convert($string, $targetEncoding = 'UTF-8'){
$current_encoding = mb_detect_encoding($string);
if($current_encoding != $targetEncoding){
$string = mb_convert_encoding($string, $targetEncoding, mb_detect_encoding($string));
}
$result = $string;
return $result;
}
//this function returns characters, whitespace, underscores and linebreaks plus @ , and -
function strip($string){
//$this->convert($string);
$result = mb_ereg_replace("[^[:word:][:alnum:][:blank:][:space:]@,\-\.]*", "", $string);
return $result;
}
//this function returns $digits of number and discards everything else
function onlyNumbers($string, $digits=0){
//$this->convert($string);
$result = mb_ereg_replace("[^\d]*", "", $string);
if($digits > 0){
$result = substr($result, 0, $digits);
}
return $result;
}
function decode($string, $type="all"){
//$this->convert($string);
if($type == "all" || $type == "strip"){
$string = stripslashes($string);
}
if ($type == "all" || $type == "decode"){
$string = urldecode($string);
}
$result = $string;
return $result;
}
}
//mb_detect_order (
mb_internal_encoding('UTF-8');
mb_http_output('UTF-8');
mb_http_input('UTF-8');
mb_language('uni');
mb_regex_encoding('UTF-8');
ob_start('mb_output_handler');
//var_dump(mb_regex_encoding());
//var_dump( mb_get_info());
$value = "Häslïchëräëÿüïöáéüúíóßñµç.,_-;()''\"\" ";
//$value = $stripper->decode($value);
//$value = $stripper->convert($value);
echo "before strip :" . mb_detect_encoding($value) . " for $value<br />";
//$_POST[$key] = $purifier->purify($_POST[$key]);
//$value = str_replace("ß","ss",$value);
$stripper = new Stripper();
$value = $stripper->strip($value);
echo "after strip :". mb_detect_encoding($value) . " for $value<br />";
//phpinfo();
- Output for 4.3.0 - 4.3.11, 4.4.0 - 4.4.9, 5.0.0 - 5.0.5, 5.1.0 - 5.1.6, 5.2.0 - 5.2.17, 5.3.0 - 5.3.29, 5.5.0 - 5.5.38, 5.6.0 - 5.6.40, 7.0.0 - 7.0.33, 7.1.0 - 7.1.33, 7.2.0 - 7.2.33, 7.3.0 - 7.3.31, 7.4.0 - 7.4.32, 8.0.0 - 8.0.12, 8.0.14 - 8.0.30, 8.1.0 - 8.1.28, 8.2.0 - 8.2.18, 8.3.0 - 8.3.6
- <!DOCTYPE html><!-- (c) 2006 - 2013 Dealerdirect B.V. -->
<html lang="NL">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
</head>
<html>
<?
class Stripper{
var $regex;
var $stripped;
var $decoded;
var $current_encoding;
var $result;
function __construct(){
mb_internal_encoding('UTF-8');
//mb_regex_encoding("UTF-8");
setlocale(LC_ALL, ['de_DE@euro', 'de_DE', 'deu_deu']);
}
private function to_utf8( $string ) {
// From http://w3.org/International/questions/qa-forms-utf-8.html
if ( preg_match('%^(?:
[\x09\x0A\x0D\x20-\x7E] # ASCII
| [\xC2-\xDF][\x80-\xBF] # non-overlong 2-byte
| \xE0[\xA0-\xBF][\x80-\xBF] # excluding overlongs
| [\xE1-\xEC\xEE\xEF][\x80-\xBF]{2} # straight 3-byte
| \xED[\x80-\x9F][\x80-\xBF] # excluding surrogates
| \xF0[\x90-\xBF][\x80-\xBF]{2} # planes 1-3
| [\xF1-\xF3][\x80-\xBF]{3} # planes 4-15
| \xF4[\x80-\x8F][\x80-\xBF]{2} # plane 16
)*$%xs', $string) ) {
return $string;
} else {
return iconv( 'CP1252', 'UTF-8', $string);
}
}
function convert($string, $targetEncoding = 'UTF-8'){
$current_encoding = mb_detect_encoding($string);
if($current_encoding != $targetEncoding){
$string = mb_convert_encoding($string, $targetEncoding, mb_detect_encoding($string));
}
$result = $string;
return $result;
}
//this function returns characters, whitespace, underscores and linebreaks plus @ , and -
function strip($string){
//$this->convert($string);
$result = mb_ereg_replace("[^[:word:][:alnum:][:blank:][:space:]@,\-\.]*", "", $string);
return $result;
}
//this function returns $digits of number and discards everything else
function onlyNumbers($string, $digits=0){
//$this->convert($string);
$result = mb_ereg_replace("[^\d]*", "", $string);
if($digits > 0){
$result = substr($result, 0, $digits);
}
return $result;
}
function decode($string, $type="all"){
//$this->convert($string);
if($type == "all" || $type == "strip"){
$string = stripslashes($string);
}
if ($type == "all" || $type == "decode"){
$string = urldecode($string);
}
$result = $string;
return $result;
}
}
//mb_detect_order (
mb_internal_encoding('UTF-8');
mb_http_output('UTF-8');
mb_http_input('UTF-8');
mb_language('uni');
mb_regex_encoding('UTF-8');
ob_start('mb_output_handler');
//var_dump(mb_regex_encoding());
//var_dump( mb_get_info());
$value = "Häslïchëräëÿüïöáéüúíóßñµç.,_-;()''\"\" ";
//$value = $stripper->decode($value);
//$value = $stripper->convert($value);
echo "before strip :" . mb_detect_encoding($value) . " for $value<br />";
//$_POST[$key] = $purifier->purify($_POST[$key]);
//$value = str_replace("ß","ss",$value);
$stripper = new Stripper();
$value = $stripper->strip($value);
echo "after strip :". mb_detect_encoding($value) . " for $value<br />";
//phpinfo();
- Output for 8.0.13
- <!DOCTYPE html><!-- (c) 2006 - 2013 Dealerdirect B.V. -->
<html lang="NL">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
</head>
<html>
Fatal error: Uncaught ValueError: mb_http_input(): Argument #1 ($type) must be one of "G", "P", "C", "S", "I", or "L" in /in/QJdBH:78
Stack trace:
#0 /in/QJdBH(78): mb_http_input('UTF-8')
#1 {main}
thrown in /in/QJdBH on line 78
Process exited with code 255. - Output for 7.3.32 - 7.3.33, 7.4.33
- <!DOCTYPE html><!-- (c) 2006 - 2013 Dealerdirect B.V. -->
<html lang="NL">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
</head>
<html>
before strip :UTF-8 for Häslïchëräëÿüïöáéüúíóßñµç.,_-;()''"" <br />after strip :UTF-8 for H?sl?ch?r????????????????.,_- <br />
- Output for 5.4.0 - 5.4.45
- <!DOCTYPE html><!-- (c) 2006 - 2013 Dealerdirect B.V. -->
<html lang="NL">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
</head>
<html>
before strip :UTF-8 for Häslïchëräëÿüïöáéüúíóßñµç.,_-;()''"" <br />
Warning: mb_ereg_replace(): mbregex compile err: invalid POSIX bracket type in /in/QJdBH on line 49
after strip :ASCII for <br />
preferences:
333.52 ms | 402 KiB | 464 Q