Класс фильтрации (готовый ООП)

class Filter {
    /**
     * @param $string
     * @return mixed
     */
    function clearFullSpecialChars ($string) {
        $string = filter_var($string, FILTER_SANITIZE_FULL_SPECIAL_CHARS);
        return $string;
    }

    /**
     * @param $string
     * @return string
     */
    function output ($string) {
        $string = $this->clearFullSpecialChars($string);
        $string = nl2br($string);
        return $string;
    }

    /**
     * @param $string
     * @return mixed
     */
    function clearString ($string) {
        $string = filter_var($string, FILTER_SANITIZE_STRING);
        return $string;
    }

    /**
     * @param $string
     * @return int
     */
    function clearInt ($string) {
        $string = filter_var($string, FILTER_SANITIZE_NUMBER_INT);
        $string = intval(abs($string));
        return $string;
    }
}

Немного обновил скрипт. Все объекты сделал статичными

<?php
/*
 * Copyright (c) 2022.
 * Autor: misspo
 * Site: misspo.ru
 * Phone: +7 (919) 48-10-550
 * E-mail: misspo.ru@gmail.com
 */

use JetBrains\PhpStorm\Pure;

class Filter
{
    /**
     * @param $string
     * @return mixed
     */
    #[Pure] static public function clearFullSpecialChars($string): mixed
    {
        return filter_var(value: $string, filter: FILTER_SANITIZE_FULL_SPECIAL_CHARS);
    }

    /**
     * @param $string
     * @return string
     */
    #[Pure] static public function output($string): string
    {
        return self::clearFullSpecialChars(string: $string);
    }

    /**
     * @param $string
     * @return mixed
     */
    #[Pure] static public function clearString($string): mixed
    {
        return filter_var(value: $string, filter: FILTER_SANITIZE_STRING);
    }

    /**
     * @param $string
     * @return int
     */
    #[Pure] static public function clearInt($string): int
    {
        return intval(value: abs(num: filter_var(value: $string, filter: FILTER_SANITIZE_NUMBER_INT)));
    }
}
Author: GM

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *