freeman85 Опубликовано 16 Августа 2005 Жалоба Поделиться Опубликовано 16 Августа 2005 Кто нибудь делал тайкой изврат? Пишу так:[usr]freeman85[/usr]Вижу этак:freeman85 Ну примерно понели что я имел ввиду. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
DANMASTER Опубликовано 17 Августа 2005 Жалоба Поделиться Опубликовано 17 Августа 2005 Так просто при помощи pregreplace заменяй свои теги на ссылку и подставляй номер юзера из параметра, для этого нужно сканировать базу, чтобы вычислить id пользователя. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
=SPiRiT= Опубликовано 17 Августа 2005 Жалоба Поделиться Опубликовано 17 Августа 2005 Зачем, если выше указанным способом легче и проще! Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Hostem Опубликовано 17 Августа 2005 Жалоба Поделиться Опубликовано 17 Августа 2005 post_parser.php Найти $txt = preg_replace( "#\[url\s*=\s*(\S+?)\s*\](.*?)\[\/url\]#ie" , "\$this->regex_build_url(array('html' => '\\1', 'show' => '\\2'))", $txt ); ниже добавить $txt = preg_replace( "#\[usr\]\s*(.+?)\s*\[/usr\]#ie" , "\$this->regex_build_user('\\1')", $txt );ищем $txt = preg_replace( "#<img src=[\"'](\S+?)['\"].+?".">#" , "\[IMG\]\\1\[/IMG\]" , $txt ); ниже добавим $txt = preg_replace( "#<!--userbegin--><a href=[\"']http://\S+?['\"].+?".">(.+?)</a><!--userend-->#" , "\[usr\]\\1\[/usr\]" , $txt ); найти} ?> добавить ВЫШЕ function regex_build_user ($name="") { global $DB, $ibforums; $default="[usr]".$name."[/usr]"; if ($name=="") return $default; $r=$DB->query("SELECT id, name FROM ibf_members WHERE LOWER(name)='".strtolower($name)."'"); if($DB->get_num_rows($r)) { $row=$DB->fetch_row($r); return "<!--userbegin--><a href='{$ibforums->vars['board_url']}/index.php?showuser=".$row['id']."' target='_blank'>".$row['name']."</a><!--userend-->"; } else return $default; } Попробуй так Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
DANMASTER Опубликовано 17 Августа 2005 Жалоба Поделиться Опубликовано 17 Августа 2005 Hostem, ты сделал методом который я предложил да? Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Hostem Опубликовано 17 Августа 2005 Жалоба Поделиться Опубликовано 17 Августа 2005 смотря где ты предложил "сканировать БД" Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
freeman85 Опубликовано 17 Августа 2005 Автор Жалоба Поделиться Опубликовано 17 Августа 2005 а ниче если я сделал так? include ("conf_global.php"); @mysql_connect($INFO['sql_host'], $INFO['sql_user'], $INFO['sql_pass']) or die("Can't connect to MySQL Server"); @mysql_select_db($INFO['sql_database']) or die("Can't accept to database"); $query = "SELECT `id` , `name` FROM `".$INFO['sql_tbl_prefix']."members` WHERE `name` LIKE '".$username."'"; $res = mysql_query($query) or die(mysql_error()); $number = mysql_num_rows($res); $row=mysql_fetch_array($res); if ($number == 0) { header('location: '.$_SERVER["HTTP_REFERER"]); } else{ $usrid = $row['id']; header("location: index.php?showuser=".$usrid); } и создал tag [user]... все вроде как я и хотел)) спасибо что не поленились :] Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
DINI Опубликовано 17 Августа 2005 Жалоба Поделиться Опубликовано 17 Августа 2005 freeman85:Во-первых, все это можно сделать проще (как описал Hostem). Во вторых, использование переменной $_SERVER["HTTP_REFERER"] в открытом виде (без обработки) очень опасно. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
DANMASTER Опубликовано 17 Августа 2005 Жалоба Поделиться Опубликовано 17 Августа 2005 freeman85, а чем тебе код Hostem'а не понравился? Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
freeman85 Опубликовано 18 Августа 2005 Автор Жалоба Поделиться Опубликовано 18 Августа 2005 DANMASTERя его сделал, не после того как увидел его код. чуть освобожусь и его код испытаю. p.s. вообще идея начиналась с воблы. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
DANMASTER Опубликовано 18 Августа 2005 Жалоба Поделиться Опубликовано 18 Августа 2005 А тоесть ты сначала реализовал свой метод? Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
freeman85 Опубликовано 18 Августа 2005 Автор Жалоба Поделиться Опубликовано 18 Августа 2005 2Danmasterпосле того как пришла мысля... сразу зашел сюда и спросил. и чтобы время не терять, обмозговал свой план.просто ipb структуру не знаю, поетому такой вот конёк получился... при маленькой махинации(модификации) бех проблем будет работать на vbullete .. проверено )) p.s. нужно bbcode создать [user]:<a href="search_user.php?username={content}">{content}</a> 2DINI, все прекрасно $_SERVER["HTTP_REFERER"]а как это лечит? Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
DINI Опубликовано 18 Августа 2005 Жалоба Поделиться Опубликовано 18 Августа 2005 а как это лечит? Стараться не использовать переменную без острой необходимости и при наличии способа ее замены Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
GiV Опубликовано 18 Августа 2005 Жалоба Поделиться Опубликовано 18 Августа 2005 Даешь ссылку на юзера в пост и она конвертится в имя =] А тэги это изврат... Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
freeman85 Опубликовано 18 Августа 2005 Автор Жалоба Поделиться Опубликовано 18 Августа 2005 да нет, кнопочку организовать и все пучком Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Hostem Опубликовано 18 Августа 2005 Жалоба Поделиться Опубликовано 18 Августа 2005 А у меня наоборот пользователи после тега [юзер]имя[\юзер] начали просить тег [топик]имя_темы[\топик]. Так как по их объяснениям копировать ссылки им труднее чем набрать точный ник (название темы). Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Song Опубликовано 19 Августа 2005 Жалоба Поделиться Опубликовано 19 Августа 2005 >> А тэги это изврат...Нет, не изврат. У меня давно уже тег [user] сделан и например, мне как админу он очень полезен. Делать всякие объявления, выделить внимание на какой-то определённый ник и т.д. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
GiV Опубликовано 19 Августа 2005 Жалоба Поделиться Опубликовано 19 Августа 2005 Ну вот для Song отдельное обьявление =) Не вижу смысла в наборе тэгов и прочем... Действий больше получается. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Vic'er Опубликовано 19 Августа 2005 Жалоба Поделиться Опубликовано 19 Августа 2005 GiV , это конечно тоже прикольно, но ведь, что бы вставить ссылку на юзера, ее нужно знать (или на крайняк помнить айдишку), а так написал ник и все Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Jax Опубликовано 19 Августа 2005 Жалоба Поделиться Опубликовано 19 Августа 2005 Hostem, как ты сказал - не работает. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Hostem Опубликовано 19 Августа 2005 Жалоба Поделиться Опубликовано 19 Августа 2005 То я написал как в версии 1.х Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Jax Опубликовано 19 Августа 2005 Жалоба Поделиться Опубликовано 19 Августа 2005 Я понял. У меня 1.3.1 Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Hostem Опубликовано 19 Августа 2005 Жалоба Поделиться Опубликовано 19 Августа 2005 Какую ошибку выдает? Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Jax Опубликовано 22 Августа 2005 Жалоба Поделиться Опубликовано 22 Августа 2005 Никакую.Просто так и остается [usr]name[/usr] Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Vic'er Опубликовано 22 Августа 2005 Жалоба Поделиться Опубликовано 22 Августа 2005 наблюдаю ошибку (отсутствия обратного слеша)вместо: $txt = preg_replace( "#\[usr\]\s*(.+?)\s*\[/usr\]#ie" , "\$this->regex_build_user('\\1')", $txt );нужно: $txt = preg_replace( "#\[usr\]\s*(.+?)\s*\[\/usr\]#ie" , "\$this->regex_build_user('\\1')", $txt ); Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Рекомендуемые сообщения
Присоединиться к обсуждению
Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.