Перейти к контенту

Рекомендуемые сообщения

Так просто при помощи pregreplace заменяй свои теги на ссылку и подставляй номер юзера из параметра, для этого нужно сканировать базу, чтобы вычислить id пользователя.
Ссылка на комментарий
Поделиться на других сайтах

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;

       }

 

Попробуй так :D

Ссылка на комментарий
Поделиться на других сайтах

Hostem, ты сделал методом который я предложил да?
Ссылка на комментарий
Поделиться на других сайтах

а ниче если я сделал так?

 

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]... все вроде как я и хотел)) спасибо что не поленились :]

Ссылка на комментарий
Поделиться на других сайтах

freeman85:

Во-первых, все это можно сделать проще (как описал Hostem).

Во вторых, использование переменной

$_SERVER["HTTP_REFERER"]

в открытом виде (без обработки) очень опасно.

Ссылка на комментарий
Поделиться на других сайтах

freeman85, а чем тебе код Hostem'а не понравился?
Ссылка на комментарий
Поделиться на других сайтах

DANMASTER

я его сделал, не после того как увидел его код. чуть освобожусь и его код испытаю.

 

p.s. вообще идея начиналась с воблы.

Ссылка на комментарий
Поделиться на других сайтах

А тоесть ты сначала реализовал свой метод?
Ссылка на комментарий
Поделиться на других сайтах

2Danmaster

после того как пришла мысля... сразу зашел сюда и спросил.

 

и чтобы время не терять, обмозговал свой план.

просто ipb структуру не знаю, поетому такой вот конёк получился... при маленькой махинации(модификации) бех проблем будет работать на vbullete .. проверено ))

 

p.s. нужно bbcode создать [user]:

<a href="search_user.php?username={content}">{content}</a>

 

 

 

2DINI, все прекрасно

 

$_SERVER["HTTP_REFERER"]

а как это лечит?

Ссылка на комментарий
Поделиться на других сайтах

а как это лечит?
Стараться не использовать переменную без острой необходимости и при наличии способа ее замены :D
Ссылка на комментарий
Поделиться на других сайтах

А у меня наоборот пользователи после тега [юзер]имя[\юзер] начали просить тег [топик]имя_темы[\топик]. Так как по их объяснениям копировать ссылки им труднее чем набрать точный ник (название темы).
Ссылка на комментарий
Поделиться на других сайтах

>> А тэги это изврат...

Нет, не изврат. У меня давно уже тег [user] сделан и например, мне как админу он очень полезен. Делать всякие объявления, выделить внимание на какой-то определённый ник и т.д.

Ссылка на комментарий
Поделиться на других сайтах

Ну вот для Song отдельное обьявление =)

 

Не вижу смысла в наборе тэгов и прочем... Действий больше получается.

Ссылка на комментарий
Поделиться на других сайтах

GiV , это конечно тоже прикольно, но ведь, что бы вставить ссылку на юзера, ее нужно знать (или на крайняк помнить айдишку), а так написал ник и все :D
Ссылка на комментарий
Поделиться на других сайтах

наблюдаю ошибку (отсутствия обратного слеша)

вместо:

               $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 );

Ссылка на комментарий
Поделиться на других сайтах

Присоединиться к обсуждению

Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

×   Вы вставили отформатированный текст.   Удалить форматирование

  Допустимо не более 75 смайлов.

×   Ваша ссылка была автоматически заменена на медиа-контент.   Отображать как ссылку

×   Ваши публикации восстановлены.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Зарузка...
×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.