<?php
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');
}
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("[^\w\s@,\-\.]*", "", $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();
preferences:
40.17 ms | 402 KiB | 5 Q