Обучение/Помощь новичкам | Бб-код юзера
Не спорь с ним вы оба правы, одна функция используется для передачи ида с наружи, и две в регулярных выражениях для вывода из базы.
На пример у меня всеми иконками юзеров управляет функция 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])."