Перейти к публикации
Дизайн и модификация IPS Community IPBSkinsBETA
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...
Qartvela™

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

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

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

 

Нужно добавить уникальный 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) Нужно еще добавить для старых картинок.

Поделиться сообщением


Ссылка на сообщение

Как вариант

$html = preg_replace_callback(
"/<img class='bbc_img'/i",
function ($matches) {
	return $matches[0] . ' id="' . uniqid() . '"';
},
$html
);

 

php

$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() . '"';
}

 

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

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

  • Upvote 1

Поделиться сообщением


Ссылка на сообщение
Parse error: syntax error, unexpected T_FUNCTION in /admin/sources/classes/text/parser/html.php on line 111

Поделиться сообщением


Ссылка на сообщение

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

Поделиться сообщением


Ссылка на сообщение

PHP Version 5.2.42

Поделиться сообщением


Ссылка на сообщение

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

  • Upvote 1

Поделиться сообщением


Ссылка на сообщение

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

Поделиться сообщением


Ссылка на сообщение

Создайте аккаунт или войдите в него для комментирования

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

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.

×
×
  • Создать...