Перейти к содержимому


Фотография
- - - - -

bbcode из php файла. (добавить опции к бб коду)

bbcode

  • Авторизуйтесь для ответа в теме
Сообщений в теме: 6

#1 Оффлайн   kasperskiy

    Пользователь


  • Пользователи
  • Репутация
    0
    • Cообщений: 19
    • Форум:3.3.х

Отправлено 29 Июнь 2013 - 02:20

Версия ipb:3.3.4
В файле 'admin/sources/classes/bbcode/custom/defaults.php' как вы уже знаете обрабатываются наши бб коды. так вот:
 

class bbcode_test extends bbcode_parent_class implements bbcodePlugin
{

	public function __construct( ipsRegistry $registry, $_parent=null )
	{
		$this->currentBbcode	= 'test';
		
		parent::__construct( $registry, $_parent );
	}


protected function _replaceText($txt)
{
	$_tags = $this->_retrieveTags();

	foreach( $_tags as $_tag )
   {



$txt = preg_replace( "/\[{$_tag}\](.+?)\[\/{$_tag}\]/i", "<div style='color:#00ff00;'>\\1</div>", $txt );

	
   }
	return $txt;
	}
}

это бб код 'test' - при написании:

[test] content axaxa tra ta ta [/test]

он нам выведет контент красным цветом:

<div style='color:#00ff00;'> content axaxa tra ta ta </div>

Суть просьбы:
Необходимо добавить опции к тегу на пример:

[test message=15 reputation=23 data=55] content axaxa tra ta ta [/test]

из за чего если в 'defaults.php' написать (Приблизительный по смыслу контент php кода):
 

if ($options['message'])
{
	if ($options['message'] >= 0)
	{
	$message_return = "<li> {$options['message']} </li>";
	}
	else
	{
	break;
	}
}

Где $message_return будет равняться 15 так как мы указали в опции message - 15. (с остальными опциями то же самое)

Очень прошу помочь)


  • 0

Заработок и обучение заработку

#2 Оффлайн   kasperskiy

    Пользователь


  • Пользователи
  • Репутация
    0
    • Cообщений: 19
    • Форум:3.3.х

Отправлено 29 Июнь 2013 - 02:32

Кстати те кому нужно скрыть контент от незарегистрированных пользователей:
 
$txt = preg_replace( "/\[{$_tag}\](.+?)\[\/{$_tag}\]/i", "<div style='color:#00ff00;'>\\1</div>", $txt );
 
Поменять на:
 
 
if ($this->memberData['member_group_id'] == 2)
{
$txt = preg_replace( "/\[{$_tag}\](.+?)\[\/{$_tag}\]/i", "<div style='color:#ff0000;'>Sign up or log in to your account</div>", $txt );
}
else
{
$txt = preg_replace( "/\[{$_tag}\](.+?)\[\/{$_tag}\]/i", "<span>\\1</span>", $txt );
}
 
где if ($this->memberData['member_group_id'] == 2) - переводится как "Если группа пользователя равняется по айди группе гостей, то...

  • 0

#3 Оффлайн   kasperskiy

    Пользователь


  • Пользователи
  • Репутация
    0
    • Cообщений: 19
    • Форум:3.3.х

Отправлено 13 Июль 2013 - 17:44

Получилось) cazone.net/topic/397-bb-kod-hide
  • 0

#4 Оффлайн   _or_75

    Пользователь


  • Пользователи
  • Репутация
    0
    • Cообщений: 43
    • Форум:3.4.х

Отправлено 13 Июль 2013 - 18:01

Получилось)

 
го вот так:
 
1.png
 
тогда красавчик будеш если сам сделаешь
  • 0

#5 Оффлайн   kasperskiy

    Пользователь


  • Пользователи
  • Репутация
    0
    • Cообщений: 19
    • Форум:3.3.х

Отправлено 13 Июль 2013 - 19:44

 

го вот так:

 

 
 
тогда красавчик будеш если сам сделаешь

 

Легко=) но опубликовывать всё равно не буду...


  • 0

#6 Оффлайн   _or_75

    Пользователь


  • Пользователи
  • Репутация
    0
    • Cообщений: 43
    • Форум:3.4.х

Отправлено 13 Июль 2013 - 20:53

Легко=) но опубликовывать всё равно не буду...

 

сделай через хук а не через редактирования файла bb кодов  :lol: там в 100 раз сложнее


  • 0

#7 Оффлайн   kasperskiy

    Пользователь


  • Пользователи
  • Репутация
    0
    • Cообщений: 19
    • Форум:3.3.х

Отправлено 13 Июль 2013 - 22:58

сделай через хук а не через редактирования файла bb кодов  :lol: там в 100 раз сложнее

Я не умею писать хуки=) мне проще залить php файл с хайдом и импортировать бб код=)


  • 0





Темы с аналогичными тегами: bbcode