Для создания мобильной версии форума установил стиль PDA Style и продукт Mobile Phone iPhone PDA Detection and Style Assignment для автоматического пуша стиля мобильным устройствам. Все настроил, все работает.
Но есть проблема с изображениями. Изображения которые приаттачены нормально заменяются ссылкой, а вот изображения, которые вставлены ВВ кодом [IMG] начинают тянуться. Перерыл и форум и гугл на предмет хака или решения, но так ничего и не нашел. Нарыл только идею со вставкой в html код в тэг <img> style="display:none;" и javascript с заменой по клику на style="display:block;". Только вот куда это лепить, и как вязать к стилю, увы, не понимаю.
Запрещать из-за этого тэг [IMG] по всему форуму не хотелось бы.
Может я плохо искал и решение уже есть? Или буду благодарен за подсказку как можно в стиле обработку ВВ кода изменить, чтобы например на [URL] меняло...
jac добавил 12.10.2011 в 00:08
Вижу потенциальную возможность в использовании замещения переменных.
Вопрос к гуру, можно ли как-то в замещении использовать регулярные выражения? чтобы образно взять кусок <img src="$1" /> и заменить его на $1?
jac добавил 12.10.2011 в 00:23
играясь с замещением переменных получил кривой но работающий костыль.
Но под замену попали смайлы
.
Можете подсказать как отключить смайлы в стиле?
jac добавил 12.10.2011 в 00:41
Так... прикрутил очень кривой костыль. Может кому пригодится, напишу как сделал. Пока не отыщется более элегантное решение буду пользовать это.
Итак. для начала я прикрутил хак ImageResizer. Это мне дало "грузик" к тэгу <img> который дописывается после src="..." (я подозреваю что на маленьких картинках он может не дописываться, надо будет проверить).
Дальше я добавил 3 замещение переменных для мобильного стиля:
<img src=" в пустую переменную
" border="0" alt="click the image to open in full size." в пустую переменную
class="tcattdimgresizer" onload="ncodeimageresizer.createon(this);" / в пустую переменную
(последние 2 куска пришлось разбить, поскольку длина вся не влазила)
Для того чтобы отключить функционал распахивающихся картинок ImageResizer, я добавил еще одну замену
class="thickbox" rel="thickbox" на target="_blank"
чтобы по клику картинка открывалась в новом окне.
После этого поползли смайлы и пришлось к костылю добавить еще одну замену - вернуть им отрезаный тэг <img>:
images/smilies/ на <img src="images/smilies/
Решение, конечно, никуда не годится. Но как временный костыль сойдет. в итоге вместо кода
HTML Code:
<a href="URL" class="thickbox" rel="thickbox"><img src="URL" border="0" alt="Click the image to open in full size." class="tcattdimgresizer" style="display:none;" onload="NcodeImageResizer.createOn(this);" /></a><br />
получим
HTML Code:
<a href="URL" target="_blank">URL </a><br />
jac добавил 12.10.2011 в 02:53
еще одну замену пришлось добавить для картинки cron'а в футере
http://forum.url/cron.php?rand= на <img src="http://forum.url/cron.php?rand=