Полезные функции
// Возвращает FALSE, если элемент формы пуст.
public function required($str)
{
if ( ! is_array($str))
{
return (trim($str) == '') ? FALSE : TRUE;
}
else
{
return ( ! empty($str));
}
}
// Возрвращает FALSE, если длина меньше, чем указано в параметре.
public function min_length($str, $val)
{
if (preg_match("/[^0-9]/", $val))
{
return FALSE;
}
if (function_exists('mb_strlen'))
{
return (mb_strlen($str) < $val) ? FALSE : TRUE;
}
return (strlen($str) < $val) ? FALSE : TRUE;
}
// Возрвращает FALSE, если длина больше, чем указано в параметре.
public function max_length($str, $val)
{
if (preg_match("/[^0-9]/", $val))
{
return FALSE;
}
if (function_exists('mb_strlen'))
{
return (mb_strlen($str) > $val) ? FALSE : TRUE;
}
return (strlen($str) > $val) ? FALSE : TRUE;
}
// Возвращае FALSE, если длина не соответствует указанной.
public function exact_length($str, $val)
{
if (preg_match("/[^0-9]/", $val))
{
return FALSE;
}
if (function_exists('mb_strlen'))
{
return (mb_strlen($str) != $val) ? FALSE : TRUE;
}
return (strlen($str) != $val) ? FALSE : TRUE;
}
// Возвращает FALSE, если содержимое элемента формы меньше указанного или не является числовым значением.
public function greater_than($str, $min)
{
if ( ! is_numeric($str))
{
return FALSE;
}
return $str > $min;
}
// Возвращает FALSE, если содержимое элемента формы больше чем указано, или не является числовым значением.
public function less_than($str, $max)
{
if ( ! is_numeric($str))
{
return FALSE;
}
return $str < $max;
}
// Возвращает FALSE, если содержимое элемента формы содержит что-то кроме алфавитных символов.
public function alpha($str)
{
return ( ! preg_match("/^([a-z])+$/i", $str)) ? FALSE : TRUE;
}
// Возвращает FALSE, если содержимое элемента формы содержит что-то кроме алфавитно-числовых символов.
public function alpha_numeric($str)
{
return ( ! preg_match("/^([a-z0-9])+$/i", $str)) ? FALSE : TRUE;
}
// Возвращает FALSE, если содержимое элемента формы содержит что-то кроме алфавитно-числовых символов, символов подчеркивания или дефисов.
public function alpha_dash($str)
{
return ( ! preg_match("/^([-a-z0-9_-])+$/i", $str)) ? FALSE : TRUE;
}
// Возвращает FALSE, если содержимое элемента формы не является числовым значением.
public function numeric($str)
{
return (bool)preg_match( '/^[\-+]?[0-9]*\.?[0-9]+$/', $str);
}
// Возвращает FALSE, если содержимое элемента формы содержит что-то кроме целого числа.
public function integer($str)
{
return (bool) preg_match('/^[\-+]?[0-9]+$/', $str);
}
// Возвращает FALSE, если содержимое элемента формы не является десятичным числом.
public function decimal($str)
{
return (bool) preg_match('/^[\-+]?[0-9]+\.[0-9]+$/', $str);
}
// Возвращает FALSE, если содержимое элемента формы содержит что-то кроме натуральных чисел: 0, 1, 2, 3 и так далее.
public function is_natural($str)
{
return (bool) preg_match( '/^[0-9]+$/', $str);
}
// Возвращает FALSE, если содержимое элемента формы содержит что-то кроме натуральных чисел, кроме ноля: 1, 2, 3 и так далее
public function is_natural_no_zero($str)
{
if ( ! preg_match( '/^[0-9]+$/', $str))
{
return FALSE;
}
if ($str == 0)
{
return FALSE;
}
return TRUE;
}
// Возвращает FALSE, если элемент формы не содержит корректный адрес электронной почты.
public function valid_email($str)
{
return ( ! preg_match("/^([a-z0-9\+_\-]+)(\.[a-z0-9\+_\-]+)*@([a-z0-9\-]+\.)+[a-z]{2,6}$/ix", $str)) ? FALSE : TRUE;
}
// Фильтрация строк
public function doc($str)
{
$CI =& get_instance();
// Пропускает данные через фильтр XSS.
$str = $CI->security->xss_clean($str);
// Фильтруем символы
$str = nl2br($str);
$str = preg_replace('!\p{C}!u', '', $str);
$str = str_replace('<br />', "\n", $str);
// Обрезает теги HTML от изображений, оставляя только URL.
$str = preg_replace("#<img\s+.*?src\s*=\s*[\"'](.+?)[\"'].*?\>#", "\\1", $str);
$str = preg_replace("#<img\s+.*?src\s*=\s*(.+?).*?\>#", "\\1", $str);
// Удаляем лишние пробелы
$str = preg_replace('# {2,}#', ' ', $str);
// Удаляем более 2-х переносов строк подряд
$str = preg_replace("/(\n)+(\n)/i", "\n\n", $str);
return trim($str);
}
// Фильтрация чисел
public function abs($str)
{
return intval(trim($str));
}
URL:
https://visavi.net/articles/489