Обучение/Помощь новичкам | Бб-код юзера
Не спорь с ним вы оба правы, одна функция используется для передачи ида с наружи, и две в регулярных выражениях для вывода из базы.
На пример у меня всеми иконками юзеров управляет функция online(); плюс вывод медалей.
Такой вариант набросал. Сначала код собирает айдишники юзверей. После запрашивает их из базы сразу пачкой. Далее фильтрует и заменяет значения на нужные.
php
<?php $db = mysqli_connect("database", "laravel", "laravel", "laravel"); function bb($text) { global $db; preg_match_all('~\[user="(\d+)"\]~is', $text, $matches); list($replace, $userIds) = $matches; $result = $db->query("SELECT * FROM users WHERE id IN(".implode(',', $userIds).")"); $users = mysqli_fetch_all($result, MYSQLI_ASSOC); foreach ($replace as $k => $v) { $userId = $userIds[$k]; $usersFiltered = array_filter($users, function ($item) use ($userId) { return $item['id'] == $userId; }, ARRAY_FILTER_USE_BOTH); $text = str_replace($replace, '<img src="'.$usersFiltered[0]['icon'].'"><a href="/id'.$userId.'" style="color: '.$usersFiltered[0]['color'].'">'.$usersFiltered[0]['username'].'</a>', $text); } return $text; } $text = 'Задача организации, в особенности же понимание сути ресурсосберегающих технологий напрямую зависит от [user="1"] как самодостаточных, так и внешне зависимых концептуальных решений. С другой стороны, разбавленное изрядной долей эмпатии, рациональное мышление позволяет оценить значение направлений прогрессивного развития. Картельные сговоры не допускают ситуации, при которой диаграммы связей являются только методом политического участия и своевременно верифицированы.'; echo bb($text); ?>
Для начального изучения хорошо подходит, он не сложный.
Ты можешь свой код перести на 5.6.х?
Ты можешь свой код перести на 5.6.х?
________
посл. ред. 22.02.2024 в 15:51; всего 1 раз(а); by invoker
И куча запросов в цикле, огонь, советую 🔥 Потом ноете, что скрипт тормозит и ток далее
Есть вопрос? Ты весь код перенес в фонкцию бб, у мене уже есть фуннкция которая управляет всеми дикорациям для сообщений и бб кодами.
По твоему я должен твою функцию бб перенисти в свою чтобы проижошол комфлик, в худшем случает без адаптации под мою твоя функция вобще работать не будет так как мне прийдется бегать по всему сайту и гре переменая $msg[text] для вывода текста из форм, прописывать ".bb($msg[text])."