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

[2.1.x]Модифицированный [IMG]


SAT

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

А вот когда пишешь ответ человеку который ставил картинку, он картинку не показывает. Точнее когда reply пишешь кому то кто ставил кортинку, то в моем посту не показывает картинку. Он почему то %D0%B8 меняет на html коды <img src="" и так дале... почему? У меня если отключены html коды, что тогда?
Ссылка на комментарий
Поделиться на других сайтах

  • Ответы 125
  • Создана
  • Последний ответ

Лучшие авторы в этой теме

Лучшие авторы в этой теме

  • 1 месяц спустя...

хех... а у меня строчки: return "<img src=\"$url\" border=\"0\" alt=\"IPB Image\" />"; нет

Вместо неё есть:

 

//-----------------------------------------

// If we are still here....

//-----------------------------------------

 

$url = str_replace( " ", "%20", $url );

 

return "<img src=\"$url\" border=\"0\" alt=\"{$this->ipsclass->lang['bbcode_img_alt']}\" />";

}

При замене return "<img src=\"$url\" border=\"0\" alt=\"{$this->ipsclass->lang['bbcode_img_alt']}\" />"; форум не работает ( при открытии темы появляется пустая страница) =(

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

  • 4 недели спустя...
хех... а у меня строчки: return "<img src=\"$url\" border=\"0\" alt=\"IPB Image\" />"; нет

Вместо неё есть:

 

При замене return "<img src=\"$url\" border=\"0\" alt=\"{$this->ipsclass->lang['bbcode_img_alt']}\" />"; форум не работает ( при открытии темы появляется пустая страница) =(

Только что применял модификацию. Все работает!

 

Dasboot

в то что возвращает функция парсера картинок. не забудь экранировать кавычки :D

Честно говоря, я тоже не понял куда вставлять

hspace=\"5\" vspace=\"5\"

Подскажи плз.

 

P.S.: спасибо за мод!

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

  • 4 недели спустя...

Все отлично. Автору спасибо за хороший мод :D

 

Но подскажите пожалуйста куда конкретно нужно вставить эти hspace=\"5\" vspace=\"5\" чтобы был отступ от картинки и чтобы действительно все было красиво.

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

типа такого:

		if ($align == "") 
		{
			return "<img width='$out_imgwidth' height='$out_imgheigh' src='$url' border='0' style=\"cursor:pointer;\" onclick=\"window.open('$url');\" alt='Open in new window' title='Открыть в полную величину в новом окне' hspace='3' vspace='3' />";
		}
		else
		{
			return "<img style='float:$align' width='$out_imgwidth' height='$out_imgheigh' src='$url' border='0' style=\"cursor:pointer;\" onclick=\"window.open('$url');\" alt='Open in new window' title='Открыть в полную величину в новом окне' hspace='3' vspace='3' />";
		}
	}
	else
	{
		if ($align == "")
		{
			return "<img width='{$get_img_info[0]}' height='{$get_img_info[1]}' src='$url' border='0' alt='{$this->ipsclass->lang['bbcode_img_alt']}' hspace='3' vspace='3' />";
		}
		else
		{
			return "<img style='float:$align' width='{$get_img_info[0]}' height='{$get_img_info[1]}' src='$url' border='0' alt='{$this->ipsclass->lang['bbcode_img_alt']}' hspace='3' vspace='3' />";
		}
	}

 

также, рекомендовал бы код

$txt = preg_replace( "#<img src=[\"'](\S+?)['\"].+?".">#"	  , "\[img\]\\1\[/img\]"			, $txt );

не заменять на

			//[IMG=left]
		$txt = preg_replace( "#<img style=[\"']float:(left|right)[\"'] .+? src=[\"'](\S+?)['\"].+?".">#"		   , "\[IMG=\\1\]\\2\[/IMG\]"			, $txt );
		//Image resize mod(add after "#<img" this simbols ".+?")
		$txt = preg_replace( "#<img .+? src=[\"'](\S+?)['\"].+?".">#"	  , "\[img\]\\1\[/img\]"			, $txt );

а оставить его, а этот фрагмент добавить ПЕРЕД ним.

т.е., чтобы получилось:

			//[IMG=left]
		$txt = preg_replace( "#<img style=[\"']float:(left|right)[\"'] .+? src=[\"'](\S+?)['\"].+?".">#"		   , "\[IMG=\\1\]\\2\[/IMG\]"			, $txt );
		//Image resize mod(add after "#<img" this simbols ".+?")
		$txt = preg_replace( "#<img .+? src=[\"'](\S+?)['\"].+?".">#"	  , "\[img\]\\1\[/img\]"			, $txt );

		$txt = preg_replace( "#<img src=[\"'](\S+?)['\"].+?".">#"	  , "\[img\]\\1\[/img\]"			, $txt );

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

AVol,

смысл в третьей строчке разбора IMG? :D если она никогда не сработает в коде который вы написали. потому я ее и заменяю ее ;)

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

Интересно как сработает мод, если в теги поместить ссылку на изображение с сайта, на котором установлен форум? )) В остальном мод очень полезен. Изменено пользователем Vabank
Ссылка на комментарий
Поделиться на других сайтах

SAT

все сделал, все работает, спасибо за мод! Вопрос: при открытии постов с картинками, добавоенными до установки мода получается такой код:

<img src="http://new.nkosino.ru//tmp/13553.jpg" border="0" alt="Изображение" />

соответственно вопрос: а что убдет, если заюзать "перестроить все сообщения пользователей". Все картинки, добавленные до установки мода пропадут?

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

Если при редактировании поста такое вылазит? то проверяйте правильность установки мода я почему-то уврен? что вы две строчки то ли не туда поставили толи забыли вписать. ;)

вообщем такого не должно быть :D

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

Если при редактировании поста такое вылазит? то проверяйте правильность установки мода я почему-то уврен? что вы две строчки то ли не туда поставили толи забыли вписать. ;)

вообщем такого не должно быть :D

А что делать если следующие строчки в class_bbcode_core.php нету:

return "<img src=\"$url\" border=\"0\" alt=\"IPB Image\" />";

но вместо нее имеется:

//-----------------------------------------
// If we are still here....
//-----------------------------------------

$url = str_replace( " ", "%20", $url );
return "<img src=\"$url\" border=\"0\" alt=\"{$this->ipsclass->lang['bbcode_img_alt']}\" />";
}

При замене этой (второй строчки)

return "<img src=\"$url\" border=\"0\" alt=\"{$this->ipsclass->lang['bbcode_img_alt']}\" />";

мод и форум работает, может все же из-за этой строчки при открытии старых постов с картинками получается такой плохой код, какой я описал в предыдущем посте?

 

P.S. IPB 2.1.6

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

AVol,

смысл в третьей строчке разбора IMG? :) если она никогда не сработает в коде который вы написали. потому я ее и заменяю ее :)

 

 

SAT

все сделал, все работает, спасибо за мод! Вопрос: при открытии постов с картинками, добавоенными до установки мода получается такой код:

<img src="http://new.nkosino.ru//tmp/13553.jpg" border="0" alt="Изображение" />

соответственно вопрос: а что убдет, если заюзать "перестроить все сообщения пользователей". Все картинки, добавленные до установки мода пропадут?

 

Потому я ее и оставил... :D

 

т.к.

$txt = preg_replace( "#<img .+? src=[\"'](\S+?)['\"].+?".">#"	  , "\[img\]\\1\[/img\]"			, $txt );

не перекрывает

$txt = preg_replace( "#<img src=[\"'](\S+?)['\"].+?".">#"	  , "\[img\]\\1\[/img\]"			, $txt );

в нем между img и src что-нибуть обязательно должно быть... или можно просто этот регвар переписать по-другом - чтоб необязательно, ток мне лень ;)

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

SAT

Да что там смотреть? И так видно, что

<img src="http://new.nkosino.ru//tmp/13553.jpg" border="0" alt="Изображение" />

не подходит под

#<img .+? src=[\"'](\S+?)['\"].+?".">#

, т.е. тут после img должен идти пробел, затем один или более символов и еще один пробел, а только затем - src (ну я думаю эт и так понятно ))) ).

Можно, навное, тогда написать так:

$txt = preg_replace( "#<img.+?src=[\"'](\S+?)['\"].+?".">#"	  , "\[img\]\\1\[/img\]"			, $txt );

, вместо этих двух выражений. Или я что-то не учел? :D

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

При установленом моде, и отправке поста с картинкой (а также при редактировании и вставке картинки в подпись), форум долго думает... (до минуты), потом вываливает браузер timeout (но картинка в итоге потом постится).

 

Чем то вылечить можно ?

PS: Форум переносился с одного хоста на другой. До этого всё было ок.

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

Можно, навное, тогда написать так:
$txt = preg_replace( "#<img.+?src=[\"'](\S+?)['\"].+?".">#"	  , "\[img\]\\1\[/img\]"			, $txt );

 

Да именно этот вариант будет корректным и оптимальным :D

 

Форум переносился с одного хоста на другой. До этого всё было ок.

 

а у вашего хостера не запрещены ли внешние связи? протестируйте на локальных картинках которые пасположены на форуме, например попробуйте шапочку запостить ;)

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

а у вашего хостера не запрещены ли внешние связи? протестируйте на локальных картинках которые пасположены на форуме, например попробуйте шапочку запостить :D

 

При снятом моде, "подобные картинки" (как вы посоветовали) постятся без проблем. При установленном, в принципе тоже постятся (любые так же) ... Но страница, после нажатия поста, никак не обновляется (или долго ждёт) и браузер уходит в timeout (в большинстве случаев).

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

  • 3 недели спустя...
Вот такой вопросик тут возник. Можно ли как нить размер отображаемой картинки задать пользователю самому во время вставки? Т.е. мне надо создать тему где например картинки должны быть 200х200 и при нажатие на нее она открывалась в своем родном размере, например 1024х768. А в настройках мода стоит 400х400. Плиз, если мона осуществить скажите как, очень надо!
Ссылка на комментарий
Поделиться на других сайтах

При снятом моде, "подобные картинки" (как вы посоветовали) постятся без проблем. При установленном, в принципе тоже постятся (любые так же) ... Но страница, после нажатия поста, никак не обновляется (или долго ждёт) и браузер уходит в timeout (в большинстве случаев).

 

я же говорю, что getimageresize со вмешними сереверами на хостере не настроен, потому мод откажется работать... попробуйте пообщаться с хостером, спросите у него почему функция getimageresize не работает с внешними серверами, пожалуй это единственный вариант(второй вариант это увеличение таймаута, но так можно сервер подвесить нафиг)

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

  • 1 месяц спустя...

Вопрос по поводу кода left, к примеру -

Когда задействуешь такой код, картинка обтекается текстом. но при это она обтекается и подписью пользователя!!! Что очень не удобно. Можно ли сделать. чтобы обтекание происходило ТОЛЬКО текстом поста??

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


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

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

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