ntec Опубликовано 17 Августа 2008 Жалоба Поделиться Опубликовано 17 Августа 2008 Проблема: при публикации текстов надо вставлять картинки. В результате остается куча свободного места, а ведь туда можно разместить текст. Вот это и исправим. Теория: [ img ]url[ /img ] преобразуются в < img src="url">. Для обтекания текстом надо дописать align="сторона". Как использовать: lefturl[/img] или righturl[/img] Как делать: Изменяем файлы:sources/classes/bbcode/class_bbcode.phpsources/classes/bbcode/class_bbcode_core.php ============================================================================================================================sources/classes/bbcode/class_bbcode.php============================================================================================================================В функции function pre_db_parse( $txt="" )Ищем строку: $txt = preg_replace_callback( "#\[img\](.+?)\[/img\]#i" , array( &$this, 'regex_check_image' ), $txt ); Меняем на: $txt = preg_replace_callback( "#\(left|right)\(.+?)\[/img\]#i" , array( &$this, 'regex_check_image' ), $txt ); $txt = preg_replace_callback( "#\[img\](.+?)\[/img\]#i" , array( &$this, 'regex_check_image' ), $txt ); (перед тем как сохранить в БД картинка превращается в HTML тег! и сохраняется, так вот эта строка ее и превращает)============================================================================================================================ Ищем строку: $txt = preg_replace( "#<img(?:.+?)src=[\"'](\S+?)['\"][^>]+?>#is" , "\[img\]\\1\[/img\]" , $txt ); Меняем на: $txt = preg_replace( "#<img align=[\"'](left|right)[\"'](?:.+?)src=[\"'](\S+?)['\"][^>]+?>#is" , "\\\1\\2\[/img\]" , $txt ); $txt = preg_replace( "#<img(?:.+?)src=[\"'](\S+?)['\"][^>]+?>#is" , "\[img\]\\1\[/img\]" , $txt ); (эта штука делает обратный процесс. когда бы из БД пытаемся редактировать, то она находит тег img и обратно его возвращает вBB код. Тут это и делается.) ============================================================================================================================ ============================================================================================================================sources/classes/bbcode/class_bbcode_core.php============================================================================================================================Ищем функцию: function regex_check_image( $matches=array() )============================================================================================================================В её начале ищем строку $url = $matches[1]; Заменяем на if (isset($matches[2]) && (($matches[1]=="left")||(($matches[1]=="right")))) { $alt = 'align="'.$matches[1].'" '; $url = $matches[2]; } else { $alt = ""; $url = $matches[1]; }; ============================================================================================================================Ищем строку return "<img src=\"$url\" border=\"0\" class=\"". $_class ."\" />";Заменяем на return "<img ".$alt."src=\"$url\" border=\"0\" class=\"". $_class ."\" />"; Ну и всё. Вобще вещь полезная, рекомендуется ее встраивать в новые версии форума, особенно если адаптировать её ещё и к Прикрепленным файлам. Глюки: Вобщем то при эксплуатации наблюдал тока один глюк, если процитировать это (и если мало текста вместе с картинкой), то рамка цитаты может не обхватить картинку, но это уже глюк html`я. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Sannis Опубликовано 17 Августа 2008 Жалоба Поделиться Опубликовано 17 Августа 2008 Про тег code вы не знаете? Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Dinamo Опубликовано 18 Августа 2008 Жалоба Поделиться Опубликовано 18 Августа 2008 Ну тогда уж неплохо было бы сделать, что бы при нажатии на кнопочку вставить изображение, первым алертом открвалось окошко с просьбой всавить ссылочку для изображения, поасле чего втрой запрос, вставить лефт, райт или ничего.Надеюсь понятно описал Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
ntec Опубликовано 19 Августа 2008 Автор Жалоба Поделиться Опубликовано 19 Августа 2008 Про тег code вы не знаете? поясни, я в танке это мои первые попытки чёнить изобразить. Ну тогда уж неплохо было бы сделать, что бы при нажатии на кнопочку вставить изображение, первым алертом открвалось окошко с просьбой всавить ссылочку для изображения, поасле чего втрой запрос, вставить лефт, райт или ничего.Надеюсь понятно описал хм, теоретически можно, хоть я яву забыл давно и надолго. хотя думаю это перебор будет, реально лишнее окно. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Sannis Опубликовано 19 Августа 2008 Жалоба Поделиться Опубликовано 19 Августа 2008 Про тег code вы не знаете? поясни, я в танке это мои первые попытки чёнить изобразить.Своеобразные попытки, раз вы даже со стандартными функциями не разобрались [code ]тут код[/code ], кнопка рядом с кнопкой цитаты в редакторе. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Dinamo Опубликовано 31 Августа 2008 Жалоба Поделиться Опубликовано 31 Августа 2008 Решили вопрос с цитатой? Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Duka Опубликовано 11 Сентября 2008 Жалоба Поделиться Опубликовано 11 Сентября 2008 первым алертомэтот алерт носит название prompt // Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
max_rip Опубликовано 29 Сентября 2008 Жалоба Поделиться Опубликовано 29 Сентября 2008 и еще глюк, при вставке большого изображения, оно автоматически уменшается, так вот если стоит алигн райт, то картинка уплывает от дива, в котором пишется всякая хрень и на которую надо кликать для увеличения +).В общем делать надо не так, изначально надо обернуть img в div с float: right или left.Тогда Все корректна отображается.Есть еще баг. Если пост не наполнен то подпись тоже обтекает текст. В связи с этим необходимо добавить во все используемые шаблоны перед подписью пустой див с style="clear: both;" Что даст нам этого избежать.На даннный момент этого нет в коде, а просто все воялось прям в браузере.Честного говоря не могу сказать как поведет себя авторейсазер, правильно ли он изменит код. Да и трудновато будет написать регексп для меня. апдейт. В общем все запихнул в код. Обертка с дива прекрасно выполняет свои функции, но вот как теперь хтмл код обратно в теги собрать?я не силен в этих штучках)В общем итоге мы получаем это, как теперь это собрать обртано ?<div style="float: right;"><img border="0" class="linked-image" src="http://main.sky/rip/img/logo.png"/></div>Пытался так, не фыркаетpreg_replace( "#<div style=[\"']float:(left|right)[\"'](?:.+?)><img src=[\"'](\S+?)['\"].+?"."></div>#", "\[IMG=\\1\]\\2\[/IMG\]", $txt ); Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
DerSpinner Опубликовано 8 Декабря 2008 Жалоба Поделиться Опубликовано 8 Декабря 2008 проблемы темы были решены?) Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Arhar Опубликовано 8 Декабря 2008 Жалоба Поделиться Опубликовано 8 Декабря 2008 а они все изобретали и изобретали камень, который потом пытались прикрутить к палкеhttp://www.ibresource.ru/db/630/ Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Grandsire Опубликовано 10 Декабря 2008 Жалоба Поделиться Опубликовано 10 Декабря 2008 Arhar А возможно обтекание текста реализовать в Блогах? Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Arhar Опубликовано 10 Декабря 2008 Жалоба Поделиться Опубликовано 10 Декабря 2008 смотря каких,я со стандартными ипб.блогами не знаком Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Sannis Опубликовано 10 Декабря 2008 Жалоба Поделиться Опубликовано 10 Декабря 2008 Парсер единый, что мешает? Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Arhar Опубликовано 10 Декабря 2008 Жалоба Поделиться Опубликовано 10 Декабря 2008 да тупые вопросы мешают, хотя для mjournal по умолчанию идет этот злосчастный post_parser.php Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
andripoty Опубликовано 25 Декабря 2008 Жалоба Поделиться Опубликовано 25 Декабря 2008 что то у меня странно как отрабатывает код мода - в опере вроде нормально (текст обтекает картинку) а вот в IE оптекать не хочети в опере текст прижимается вплотную к картинке и получается не очень красиво.. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
BESTRAFER Опубликовано 8 Января 2009 Жалоба Поделиться Опубликовано 8 Января 2009 а они все изобретали и изобретали камень, который потом пытались прикрутить к палкеhttp://www.ibresource.ru/db/630/ Совместимость: 2.1.xа на 2.3.4 встанет? Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Arhar Опубликовано 8 Января 2009 Жалоба Поделиться Опубликовано 8 Января 2009 http://www.ibresource.ru/forums/blog/arhar...p?showentry=284 Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
BESTRAFER Опубликовано 9 Января 2009 Жалоба Поделиться Опубликовано 9 Января 2009 сюда обычно направляют апостериори) ну хоть теперь буду знать Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Ya-energetik Опубликовано 1 Марта 2011 Жалоба Поделиться Опубликовано 1 Марта 2011 Для 3.1.2 есть решения? очень нужно, есть новостной раздел Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Рекомендуемые сообщения
Присоединиться к обсуждению
Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.