Song Опубликовано 20 Сентября 2004 Жалоба Поделиться Опубликовано 20 Сентября 2004 Некоторые люди берегут свой трафик и не показывают картинок в браузере. Всё бы хорошо, но уж больно смайлы ущербно выглядят. Просто квадратик или вообще пустое место.Предлагаю немного улучшить этим людям жизнь.Теперь в текстовом режиме смайлы будут не просто квадратиком, а квадратиком с собвственном самим текстовым представлением смайлика. Файл post_parser.phpНаходимreturn "<!--emo&".trim($code)."--><img src='{$ibforums->vars['EMOTICONS_URL']}/$image' border='0' style='vertical-align:middle' alt='$image' /><!--endemo-->";Заменяем наreturn "<!--emo&".trim($code)."--><img src='{$ibforums->vars['EMOTICONS_URL']}/$image' border='0' style='vertical-align:middle' alt='$code' /><!--endemo-->"; Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Song Опубликовано 21 Сентября 2004 Автор Жалоба Поделиться Опубликовано 21 Сентября 2004 Сделаем тоже самое для таблицы смайлов.В файлах Topics.php (дополнительный мод - расширенная форма быстрого ответа, если есть) и Post.phpнайдём строку $smilies .= "<td><a href={$out_delim}javascript:emoticon($in_delim".$elmo['typed']."$in_delim){$out_delim}><img src=\"".$ibforums->vars['EMOTICONS_URL']."/".$elmo['image']."\" alt='smilie' border='0' /></a> </td>\n";и заменим её на $smilies .= "<td><a href={$out_delim}javascript:emoticon($in_delim".$elmo['typed']."$in_delim){$out_delim}><img src=\"".$ibforums->vars['EMOTICONS_URL']."/".$elmo['image']."\" alt='{$elmo['typed']}' border='0' /></a> </td>\n"; Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
fixx Опубликовано 18 Июня 2006 Жалоба Поделиться Опубликовано 18 Июня 2006 квадратиками они отображется в эксплорере, в опере норм. почему-то для 1.3 этот спопособ не прокатил. как были квадритике в осле, так и остались. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
PALADIN+ Опубликовано 18 Декабря 2006 Жалоба Поделиться Опубликовано 18 Декабря 2006 с alt='$code' получается интересный глюк.Есть смайлики 1) :oh: и 2) :OКогда пишем 1й, получается весьма странный результат (это в БД)<!--emo&:oh:--><img src='Ссылка на картику 1го смайла' border='0' style='vertical-align:middle' alt='<!--emo&:O--><img src='Ссылка на картинку 2го смайла' border='0' style='vertical-align:middle' alt=':O' /><!--endemo-->h:' /><!--endemo--> В БД видно, что в alt записывается смайлик 2. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
tend Опубликовано 6 Мая 2007 Жалоба Поделиться Опубликовано 6 Мая 2007 PALADIN+, и не только в этом глюк.В предварительном просмотре ответа все смайлики почему-то прогоняются дважды и получается, что если alt содержит смайлик, то он тоже форматируется.Предполагаю, что для решения этой ситуации надо в парсере подправить вот этот код:$txt = preg_replace( "!(?<=[^\w&;/])$code(?=.\W|\W.|\W$)!ei", "\$this->convert_emoticon('$code', '$image')", $txt );Добавить в него что-то (не очень дружу с регулярными, поэтому не знаю что именно ), чтобы исключить форматирование смайликов, которые содержатся в alt'е, то есть не форматировать вот такое: alt=''.Помогите, плиз, как такое сделать? Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Arhar Опубликовано 6 Мая 2007 Жалоба Поделиться Опубликовано 6 Мая 2007 точняк))если в альте будет смайл, то он превратится в еще один смайл значит надо просто немного изменять альт при выводе, а именно убирать из него какой-нибудь ключевой символтипа " : " или заменять его на что-нибудь необрабатываемое или изменять альт как-нибудь еще return "<!--emo&".trim($code)."--><img src='{$ibforums->vars['EMOTICONS_URL']}/$image' border='0' style='vertical-align:middle' alt='".str_replace(':','',$code)."' /><!--endemo-->";похоже на правду? Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
tend Опубликовано 6 Мая 2007 Жалоба Поделиться Опубликовано 6 Мая 2007 я думаю, что лучше будет все-таки изменить в парсере$txt = preg_replace( "!(?<=[^\w&;/])$code(?=.\W|\W.|\W$)!ei", "\$this->convert_emoticon('$code', '$image')", $txt );на$txt = preg_replace( "!(?<=[^\w&';/])$code(?=.\W|\W.|\W$)!ei", "\$this->convert_emoticon('$code', '$image')", $txt );у меня получилось, но можно ли употреблять символ ' (кавычку) в регулярных выражениях? я такого никогда раньше не видел... проблем не будет? Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Рекомендуемые сообщения
Присоединиться к обсуждению
Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.