Полезные функции (Рейтинг: -3)

Печать RSS
// Возвращает 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));
    }
 
Добавил:
Рейтинг: -3
Просмотры: 1253
Комментарии (9) »