• Страница 1 из 1
  • 1
bb аналог [h3][/h3] ; [h2][/h2] ; [h1][/h1] и [hr]
Ahelhot
Дата: Четверг, 14.10.2010, 18:07 | Сообщение # 1
Ahelhot fail
Группа: Проверенные
Пользователь №: 3261
Сообщений: 66
Получено оценок: 2
Как оптимально сделать такие bb коды. Конечно без своего сервера нельзя обрабатывать текст после сохранения, но хотя бы скриптом замены это возможно.

Только нужно поставить скрипт так, что бы он заменял текст в каждом посте по очереди, а не после полной загрузки страницы.

Собственно как лучше это сделать?
В java понимаю чуть меньше чем ничего, поэтому надеюсь на помощь с написанием готового скрипта.

Сразу скажу в интернете искал, но предлагаемые варианты не подходят.

Может можно как то сохранить уже обработанный текст на сервер? ) при нажатии на кнопку "Сохранить"?

ЗЫ - Сайт на юкозе.

  
Nigelist
Дата: Пятница, 15.10.2010, 07:14 | Сообщение # 2
говорун
Группа: Проверенные
Пользователь №: 192
Сообщений: 141
Получено оценок: 17
Ahelhot, я использую bbComplex. Там можно без знаний JS добавлять свои bb-коды. Кстати те самые бб-коды которые вы хотите добавить я уже использую. Добавил правда самостоятельно.
Выглядит у меня примерно так:
Code
[h1]Заголовок первого уровня[/h1]
[h2]Заголовок второго уровня[/h2]
[h3]Заголовок третьего уровня[/h3]
[h4]Заголовок четвертого уровня[/h4]
[h5]Заголовок пятого уровня[/h5]

Внешний вид который я настраиваю через стили.

Прикрепления: 8637797.png (6.8 Kb)


Бороться и искать, найти и перепрятать...
  
Infamous
Дата: Пятница, 15.10.2010, 08:53 | Сообщение # 3
говорун
Группа: Проверенные
Пользователь №: 316
Сообщений: 158
Получено оценок: 21
Code
document.body.innerHTML = document.body.innerHTML.replace(/\[(\/)(h[1-6])\]/gi, "<$1$2>").replace(/\[hr\]/gi, "<hr />");

Дёшево и сердито.

Сообщение отредактировал Infamous - Пятница, 15.10.2010, 08:54
  
Ahelhot
Дата: Пятница, 15.10.2010, 13:49 | Сообщение # 4
Ahelhot fail
Группа: Проверенные
Пользователь №: 3261
Сообщений: 66
Получено оценок: 2
Бида :(

Code

<script type="text/javascript" language="javascript">
     
document.body.innerHTML = document.body.innerHTML.replace("[h1]", "<h1>");
document.body.innerHTML = document.body.innerHTML.replace("[/h1]", "</h1>");
            
</script>

Вот часть скрипта, все работает но только на первый встретившийся [h1][/h1]. Все остальные [h1][/h1] пропускаются.
  
Nigelist
Дата: Пятница, 15.10.2010, 15:06 | Сообщение # 5
говорун
Группа: Проверенные
Пользователь №: 192
Сообщений: 141
Получено оценок: 17
Ahelhot, берите bbComplex и вставляйте какие угодно bb-коды. Или вы вот так постоянно будете кого нить просить, когда вам понадобиться тот или иной bb-код?

P.S. Правда на данный момент комплекс заморожен. И автор не развивает его.

P.P.S. Может Алеко все-таки заинтересуется развитием этого скрипта? Имхо очень удобный скрипт.


Бороться и искать, найти и перепрятать...
  
Infamous
Дата: Пятница, 15.10.2010, 15:19 | Сообщение # 6
говорун
Группа: Проверенные
Пользователь №: 316
Сообщений: 158
Получено оценок: 21
Ahelhot, нужно было всё-таки не брезговать ставить мой код.
  
Ahelhot
Дата: Пятница, 15.10.2010, 15:21 | Сообщение # 7
Ahelhot fail
Группа: Проверенные
Пользователь №: 3261
Сообщений: 66
Получено оценок: 2
Имхо этот твой комплекс унылое г. Если мы конечно говорим про одно и тоже.. <_<

Тем более там реализовано ужасным способом, как раз тем которые мне не подходит ( пруф в первом посте )

  
Ahelhot
Дата: Пятница, 15.10.2010, 15:22 | Сообщение # 8
Ahelhot fail
Группа: Проверенные
Пользователь №: 3261
Сообщений: 66
Получено оценок: 2
Quote (Infamous)
нужно было всё-таки не брезговать ставить мой код.

Это и есть твой код, просто в том виде он не работал и я его изменил. Буду благодарен если ты доработаешь его но нормального состояния а также укажешь куда его оптимально будет вставить.
  
UnderShot
Дата: Пятница, 15.10.2010, 15:36 | Сообщение # 9
оратор
Группа: Модераторы
Пользователь №: 45
Сообщений: 923
Получено оценок: 85
Ahelhot, ваш код заменяет бб-коды, но не глобально. Так что лучше использовать этот код.

Очень важная тема!
Filmzona — онлайн фильмы.
  
Ahelhot
Дата: Пятница, 15.10.2010, 18:03 | Сообщение # 10
Ahelhot fail
Группа: Проверенные
Пользователь №: 3261
Сообщений: 66
Получено оценок: 2
Он не работает же.

Первые теги:
[h1]
[h2]
[h3]
... вообще остаются такими же.

А тэги:
[/h1]
[/h2]
[/h3]
... меняются на <h2>

  
DSC
Дата: Пятница, 15.10.2010, 19:38 | Сообщение # 11
спикер
Группа: Проверенные
Пользователь №: 127
Сообщений: 516
Получено оценок: 41
Ahelhot
Code
var d=document.body;d.innerHTML=d.innerHTML.replace(/\[(\/?h[1-6])\]/gi,'<$1>').replace(/\[hr\]/gi,'<hr/>')


aka Latro
  
Ahelhot
Дата: Пятница, 15.10.2010, 22:46 | Сообщение # 12
Ahelhot fail
Группа: Проверенные
Пользователь №: 3261
Сообщений: 66
Получено оценок: 2
Куда это вставлять?
  
DSC
Дата: Пятница, 15.10.2010, 22:48 | Сообщение # 13
спикер
Группа: Проверенные
Пользователь №: 127
Сообщений: 516
Получено оценок: 41
Ahelhot, в конец страницы

aka Latro
  
Aleko
Дата: Суббота, 16.10.2010, 02:07 | Сообщение # 14
Watching you
Группа: Администраторы
Пользователь №: 2
Сообщений: 1621
Получено оценок: 167
Как блин дети малые =(

Code
<script>
(function(_,$,b){$[_]=$[_].replace(RegExp('\\[('+b.join('|')+')\\](.*?)\\[\\/\\1\\]','gi'),function(c,d,e){return '<'+d+'>'+e+'</'+d+'>'})})('innerHTML',document.body,

['h1','h2','b'] // сюда пишем разрешенные бб коды

);
</script>

- можно добавить любое количество простых тегов
- обработает только парные теги
- регистр может быть любой


Бесплатные обои.
  
Ahelhot
Дата: Суббота, 16.10.2010, 17:08 | Сообщение # 15
Ahelhot fail
Группа: Проверенные
Пользователь №: 3261
Сообщений: 66
Получено оценок: 2
Спасибо, но куда вставлять это? )
В футер сайта? или в в общий вид форуме перед </body>
  
Ahelhot
Дата: Суббота, 16.10.2010, 17:19 | Сообщение # 16
Ahelhot fail
Группа: Проверенные
Пользователь №: 3261
Сообщений: 66
Получено оценок: 2
Aleko все вставил куда надо, отлично работает.
Большое спасибо :D
  
  • Страница 1 из 1
  • 1
Поиск:
© Studioad.ru 2006 · 2010. Использование материалов форума на сторонних ресурсах без прямой обратной ссылки строго запрещено. Хостинг от uCoz.