Функция для фильтрования строки с помощью расширения Ctype
- /**
- * Функция для фильтрования строки с помощью расширения Ctype
- * @param string $string строка которую нужно отфильтровать
- * @param string $callback одна из функций Ctype без префикса ctype_
- * @return string
- * @author Jahak
- */
- function ctype($string, $callback)
- {
- if (in_array($callback, [
- 'alnum', 'alpha', 'cntrl', 'digit',
- 'graph', 'lower', 'print', 'punct', 'space',
- 'upper', 'xdigit'
- ]))
- {
- $return = [];
- $callback = 'ctype_' . $callback;
- foreach (str_split($string) as $value)
- {
- if ($callback($value))
- {
- $return[] = $value;
- }
- }
- return implode($return);
- }
- }
- //Example
- $test = "qwJe548P4r\r21B5r8\nHiuQ8\t*7^%$$#@";
- foreach (['alnum', 'alpha', 'cntrl', 'digit', 'graph', 'lower', 'print', 'punct', 'space', 'upper', 'xdigit'] as $value)
- {
- echo "<b>$value</b><br>";
- echo var_export(ctype($test, $value), true) . '<br>';
- }