Ответы пользователя по тегу PHP
  • Кеширование файла с file_get_contents?

    @jekahm Автор вопроса
    Всем спасибо за помощь!
    Оказалось, что это баг провайдера данных, который предоставляет данную инфу.
    Ответ написан
    Комментировать
  • Парсинг url по шаблону в PHP?

    @jekahm Автор вопроса
    Написал скрипт, который бы решал данный вопрос:

    $patterns = [
        "node/%node",
        "node/%node/news",
        "album/%album/shadowbox/%photo",
        "media/photo",
        "blogs",
        "news",
        "node/%node/players",
    ];
    
    $url = "node/11111/news";
    
    foreach ($patterns as $pattern) {
    
        $result_pattern = preg_replace("/\/%[^\/]+/x", '/*', $pattern);
    
        $to_replace = ['/\\\\\*/'];
        $replacements = ['[^\/]+'];
    
        $result_pattern = preg_quote($result_pattern, '/');
        $result_pattern = '/^(' . preg_replace($to_replace, $replacements, $result_pattern) . ')$/';
    
        if (preg_match($result_pattern, $url)) {
            echo "<pre>" . $pattern . "</pre>"; 
        }
    
    }


    Можете проанализировать, достаточно ли он функционален в данном случае. И также хотел бы узнать, зачем в данной строке $to_replace = ['/\\\\\*/']; слэш для экранирования используется целых 5 раз (нашел такой спсособ в интернете).
    Ответ написан
    Комментировать
  • Как работает функция по формированию дерева категорий?

    @jekahm Автор вопроса
    TO greabock:
    Не совсем понятно, каким именно образом вызывается данная рекурсия.
    Здесь я сделал вывод массива $map на каждой итерации цикла. Не могли бы Вы мне обьяснить, как возникает вложенный массив, например, в т.н. разделе с условным названием Parent => 2--------------------Category => 6 (строка 787) :
    [0] => Array
                (
                   [id] => 6
                   [parent] => 2
                   [name] => Subcategory F
                   [subcategories] => Array
                   (
                   )
    
                )

    Может тогда на основе этого я смогу понять основной принцип
    Ответ написан