2009-12-03 2 views
10

В настоящее время я разбираюсь в стороне сервера bbcode, но я бы хотел показать предварительный просмотр так же, как этот сайт.Любой хороший парсер для BBCode?

Если я обрабатываю сервер bbcode с помощью ajax, это немного лагги, поэтому я решил сделать это на стороне клиента, чтобы просто показать предварительный просмотр.

Вы, ребята, знаете какой-либо парсер bbcode, написанный на javascript?

ответ

5

Я лично не использовал Javascript BBcode parsers, но два лучших результата Google (bbcodejs и this blog post) кажутся довольно слабыми. Первый, похоже, поддерживает простое нахождение и замену, и, похоже, у последнего есть предустановленный BBcode, поэтому вам, вероятно, придется немного взломать его, если вы выберете это решение.

Ваши лучшие варианты, вероятно, сворачивают ваше собственное решение (возможно, основываясь на одной из двух ссылок здесь) или просто используйте AJAX и двигайтесь дальше. Это, вероятно, лучший способ обеспечить точность предпросмотра, и в любом случае предварительный просмотр не обязательно должен быть в режиме реального времени на каждом нажатии клавиши; задержка перед отправкой запроса приемлема.

+5

Yup, я видел обе ссылки перед публикацией, но я искал что-то более популярное, как и библиотека, которую я использую сейчас (http://bbcode.codeplex.com/). Итак, возможно, я просто отправлю его в JS. Кажется, что не так много – Drevak

+4

Вы действительно рекомендуете что-то, что имеет 'eval ("/"+ obj [k] .tmatch [tm] +"/gi.test (tag [tm]) "' в нем? – katspaugh

+2

@Matchu: Я думаю, что эти надменные _ «Позвольте мне Google, что для вас» _ комментарии не нужны в Stack Overflow (и они также уменьшают шанс получить upvotes). Переполнение стека - это огромная база знаний, которую легко найти с помощью Google (!), поэтому очень полезно видеть полезные ответы без неприятных комментариев. :) – Sk8erPeter

7

Немного поздно, и на вопрос, безусловно, был дан ответ. Однако, если вы по-прежнему открыты для предложений и еще не потратили свое время на преобразование указанного парсера из C# в JavaScript, я написал парсер (первоначально на PHP), который я преобразовал самостоятельно [2] в JavaScript. Он доступен по адресу bitbucket в соответствии с лицензией BSD 3-х положений. Парсер кажется достаточно быстрым, но я не проводил никакого анализа его скорости.

Возможно, это не так гибко, как другие возможные проекты, но это позволяет определять ваши собственные коды («bb-code» или нет, с множеством свойств), а также все это содержится в один файл. Это не простой парсер поиска и замены, и он не основан на регулярном выражении.

Если это вас интересует, это может спасти вас от необходимости конвертировать эту другую библиотеку. Технически, я относительный «неизвестный», но это отличные вещи о JS/OSS: вы можете проверить источник, чтобы увидеть, что я сделал.

[2] В результате есть несколько оставшихся «функций совместимости», но я переписал вещи, в которых имеются исходные эквиваленты.

+2

Пожалуйста, используйте github! – Mark

+0

@ArtMcBain: проект не найден на bitbucket -1 –

+1

+1. Oh и https://bitbucket.org/AMcBain/bb-code-parser будут ссылкой на фактический репозиторий. – zrvan

Смежные вопросы