I needed a way to remove non-printing and irregular ascii character. This is helpfull when controlling user name formatting or comparing two strings. The output will be the cleaned up string based on the options.
Usage: $result=text_clean(<text to be reviewed>,<optional variable>);
/* this function will strip all non-printing and irregular ascii symbols and repetitive spaces. Option 0: (default) leaves spaces; Option 1: replaces spaces with underscores; Option 2: removes all spaces. Option 3: removes all spaces, underscores, converts to lowercase */ function text_clean($submitted,$option=0){ //reduces multiple spaces to single $excess_spaces=preg_replace('/\s\s+/', ' ',$submitted); //removes all non_printing/extended ascii characters $non_ascii=preg_replace('/[^\da-z ]/i', '', $excess_spaces); //Truncates the leading and ending spaces $trim_spaces=trim($non_ascii); $final=$trim_spaces; if ($option==1){ $final=preg_replace('/\s/', '_',$trim_spaces); } if ($option==2){ $final=preg_replace('/\s/', '',$trim_spaces); } if ($option==3){ $final=str_replace('_','',$trim_spaces); $final=preg_replace('/\s/', '',$final); $final=strtolower($final); } return $final; }