Нужно добавить уникальный ID для картинок в темах - Дизайн и модификация Invision Power Board

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

 

Правила раздела

Здесь обсуждаются вопросы оформления форумов IPB 3.x.
Пожалуйста, не оффтопьте, если зашли сюда случайно, и обратите внимание на соседние разделы.
Оформление форумов IPB 2.x.
Настройка форумов, включая установку и техническую настройку скинов.
Размещение рекламы на форумах.
SEO оптимизация форума.
Техническая поддержка наших скинов и модов.

СвернутьПрикрепленные теги

Теги не найдены

Страница 1 из 1
  • Вы не можете создавать новые темы
  • Вы не можете отвечать в этой теме

Нужно добавить уникальный ID для картинок в темах IPB 3.4.9

#1 Пользователь не на сайте   Qartvela™ ответил: »

 
 
  • Advanced
  • Смотреть блог
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Specialist
  • Сообщений: 205
  • Регистрация: 15-Февраль 11
  • Репутация: 24
  • IPB version:3.1.x
 

Отправлено 12 Март 2018 - 10:45

Здравствуйте

Нужно добавить уникальный ID для картинок в темах, для новых и для старых тоже.

admin/sources/classes/text/parser/html.php

		if ( ! parent::$Perms['parseHtml'] )
		{
			$uniqid_forimages = uniqid();
			$html = preg_replace( "/(?!<span rel='lightbox'>)<img(?!.*sharedmedia_screenshot)([^>]+?)>/i", "<span rel='lightbox'><img class='bbc_img' id='" . $uniqid_forimages . "'\\1></span>", $html );
			$html = preg_replace( "/<img class='bbc_img'([^>]+?)class='bbc_img'([^>]+?)>/i", "<img class='bbc_img'\\1\\2>", $html );
		}


Но...
1) Если в посте загрузить или вставить через img bbcode несколько картинка, тогда для всех добавляется одинаковые ID.
2) Нужно еще добавить для старых картинок.
0

#2 Пользователь на сайте   newbie ответил: »

 
 
  • Advanced
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Skins.ru Team
  • Сообщений: 3 247
  • Регистрация: 26-Октябрь 11
  • Репутация: 1 321
  • IPB version:I have no IPB
 

Отправлено 12 Март 2018 - 12:19

Как вариант
$html = preg_replace_callback(
	"/<img class='bbc_img'/i",
	function ($matches) {
		return $matches[0] . ' id="' . uniqid() . '"';
	},
	$html
);


php < 5.3
$html = preg_replace_callback(
    "/<img class='bbc_img'/i",
    create_function('$matches', 'return $matches[0] . \' id="\' . uniqid() . \'"\';'),
    $html
);



Либо
$html = preg_replace_callback(
	"/<img class='bbc_img'/i",
	array($this, 'addIdToImages'),
	$html
);


и добавить метод
protected function addIdToImages($matches)
{
	return $matches[0] . ' id="' . uniqid() . '"';
}


Просмотреть сообщениеQartvela™ сказал(а):

2) Нужно еще добавить для старых картинок.

Нужно удалить кеш постов
1

#3 Пользователь не на сайте   Qartvela™ ответил: »

 
 
  • Advanced
  • Смотреть блог
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Specialist
  • Сообщений: 205
  • Регистрация: 15-Февраль 11
  • Репутация: 24
  • IPB version:3.1.x
 

Отправлено 12 Март 2018 - 14:12

Parse error: syntax error, unexpected T_FUNCTION in /admin/sources/classes/text/parser/html.php on line 111

0

#4 Пользователь на сайте   newbie ответил: »

 
 
  • Advanced
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Skins.ru Team
  • Сообщений: 3 247
  • Регистрация: 26-Октябрь 11
  • Репутация: 1 321
  • IPB version:I have no IPB
 

Отправлено 12 Март 2018 - 14:27

php версии ниже 5.3?
0

#5 Пользователь не на сайте   Qartvela™ ответил: »

 
 
  • Advanced
  • Смотреть блог
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Specialist
  • Сообщений: 205
  • Регистрация: 15-Февраль 11
  • Репутация: 24
  • IPB version:3.1.x
 

Отправлено 12 Март 2018 - 14:39

PHP Version 5.2.42
0

#6 Пользователь на сайте   newbie ответил: »

 
 
  • Advanced
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Skins.ru Team
  • Сообщений: 3 247
  • Регистрация: 26-Октябрь 11
  • Репутация: 1 321
  • IPB version:I have no IPB
 

Отправлено 12 Март 2018 - 14:41

Я добавил вариант для php<5.3
1

#7 Пользователь не на сайте   Qartvela™ ответил: »

 
 
  • Advanced
  • Смотреть блог
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Specialist
  • Сообщений: 205
  • Регистрация: 15-Февраль 11
  • Репутация: 24
  • IPB version:3.1.x
 

Отправлено 12 Март 2018 - 15:14

Огромное спасибо.
0

Сообщить об этой теме:


Страница 1 из 1
  • Вы не можете создавать новые темы
  • Вы не можете отвечать в этой теме

1 пользователей читают эту тему
0 зарегистрированных, 1 гостей, 0 скрытых


Контактная информация

Вопросы по работе сайта

+7 (917) 501-4765
C 10 до 20 в рабочие дни (время московское)

Техническая поддержка

Контактные данные специалистов

Дизайн форумов

IPB 3.x ¦ IPB 2.x

Бесплатные шаблоны

IPB 3.2 – 3.4 ¦ IPB 3.1 ¦ IPB 3.0 ¦ IPB 2.2 – 2.3 ¦ IPB 2.1 ¦ Клипарт
Лицензия на использование ¦ Ваша поддержка ¦ О проекте
Copyright © 2005-2018 IPBSkins.ru Team
При копировании материалов с сайта
прямая ссылка на источник обязательна