Ответы пользователя по тегу PHP
  • С чего начать сайт для локалки?

    tioffs
    @tioffs
    Наверно тебе не нужно браться за докеры фреймворки а сначала понять как работают запросы обработчики генераторы маршруты ООП модели и тд и тп начинай с малого.

    сделай структуру своего будущего сайта:
    Посмотри как работают Роутеры (обработчики $_REQUEST данных)
    Сделай свой autoload классов
    Напиши маленький класс для работы с бд
    Напиши свой мини шаблонизатор

    А только после этого иди знакомься со фреймворками
    Симфони/Ларавел
    Ответ написан
    Комментировать
  • PHP не правильно возвращает подстроку, как считать спец символы и смайлы?

    tioffs
    @tioffs Автор вопроса
    Решение данного вопроса:
    function mb_strlen($text)
        {
            $length = 0;
            $textlength = strlen($text);
            for ($x = 0; $x < $textlength; $x++) {
                $char = ord($text[$x]);
                if (($char & 0xC0) != 0x80) {
                    $length += 1 + ($char >= 0xf0);
                }
            }
    
            return $length;
        }
    
    function mb_substr($text, $offset, $length = null)
        {
            $mb_text_length = mb_strlen($text);
            if ($offset < 0) {
                $offset = $mb_text_length + $offset;
            }
            if ($length < 0) {
                $length = ($mb_text_length - $offset) + $length;
            } elseif ($length === null) {
                $length = $mb_text_length - $offset;
            }
            $new_text = '';
            $current_offset = 0;
            $current_length = 0;
            $text_length = strlen($text);
            for ($x = 0; $x < $text_length; $x++) {
                $char = ord($text[$x]);
                if (($char & 0xC0) != 0x80) {
                    $current_offset += 1 + ($char >= 0xf0);
                    if ($current_offset > $offset) {
                        $current_length += 1 + ($char >= 0xf0);
                    }
                }
                if ($current_offset > $offset) {
                    if ($current_length <= $length) {
                        $new_text .= $text[$x];
                    }
                }
            }
    
            return $new_text;
        }
    Ответ написан
    Комментировать