Cualquier buen analizador BBCode de javascript?
parsing (2)
Personalmente, no he usado ningún analizador de código BBcode de Javascript, pero los dos resultados principales de Google ( bbcodejs y esta publicación de blog ) parecen bastante débiles. El primero solo parece ser compatible con el simple find-and-replace, y el último parece haber preestablecido BBcode incorporado, por lo que probablemente tendrías que hackearlo un poco si eliges esa solución.
Sus mejores opciones probablemente sean rodar su propia solución (posiblemente basando su trabajo en uno de los dos enlaces aquí), o simplemente usar AJAX y seguir adelante. Esa es probablemente la mejor manera de garantizar que las vistas previas sean precisas, y la vista previa no tiene que ser en tiempo real en cada pulsación de tecla, de todos modos; un retraso antes incluso de enviar la solicitud es aceptable.
Actualmente estoy analizando el lado del servidor de bbcode, pero me gustaría mostrar una vista previa al igual que este sitio.
Si proceso el servidor bbcode utilizando ajax, es un poco lento, así que pensé en hacerlo del lado del cliente, solo para mostrar la vista previa.
¿Ustedes saben algún analizador de bbcode escrito en javascript?
Es un poco tarde, y la pregunta ciertamente ha sido respondida. Sin embargo, si todavía está abierto a sugerencias y aún no ha dedicado su tiempo a convertir el analizador indicado de C # a JavaScript, he escrito un analizador (originalmente en PHP) que me convertí [2] a JavaScript. Está disponible en bitbucket bajo la licencia BSD de 3 cláusulas. El analizador parece ser razonablemente rápido, pero no he realizado ningún análisis sobre su velocidad.
Puede que no sea tan flexible de alguna manera como otros proyectos posibles, pero sí permite definir sus propios códigos ("código bb" o no, con bastantes propiedades), y también está contenido dentro de un archivo. Este no es un simple analizador de búsqueda y reemplazo, y no se basa en expresiones regulares.
Si esto le interesa, podría evitarle tener que convertir esa otra biblioteca. Técnicamente, soy un pariente "desconocido", pero eso es lo mejor de JS / OSS: puedes consultar la fuente para ver lo que hice.
[2] Como resultado, quedan algunas "funciones de compatibilidad" restantes, pero reescribí las cosas que tenían equivalentes nativos disponibles.