11
votes

N'importe quel bon analyseur JavaScript BBCode?

Actuellement, je analyse du côté du serveur BBCode, mais j'aimerais afficher un aperçu comme ce site.

Si je traite le servverside BBCode à l'aide d'Ajax, c'est un peu laggy, alors j'ai pensé à le faire le client, de montrer simplement l'aperçu.

Connaissez-vous un analyseur BBCode écrit en JavaScript?


0 commentaires

3 Réponses :


5
votes

Je n'ai utilisé personnellement aucun analgésique JavaScript BBCode, mais les deux premiers résultats Google ( BBCODEJS < / a> et Ce blog post ) semble assez faible. Le premier semble seulement soutenir la recherche simple et remplacer, et ce dernier semble avoir pré-défini BBCode intégré, vous devrez donc probablement vous pirater un peu si vous avez choisi cette solution.

Vos options Les meilleures options sont probablement de rouler votre propre solution (éventuellement baser votre travail sur l'un des deux liens ici) ou utilisez simplement Ajax et passez à autre chose. C'est probablement le meilleur moyen de garantir que les prévisualisations soient exactes et que la prévisualisation n'a pas besoin d'être en temps réel sur chaque frappe, de toute façon; un retard avant même d'envoyer la demande est acceptable.


6 commentaires

Yup, j'ai vu les deux liens avant de poster, mais je cherchais quelque chose d'un peu plus populaire, comme la bibliothèque que j'utilise maintenant ( BBCODE.CODEPLEX.COM ). Donc, probablement je vais juste le porter à JS. Semble qu'il n'y a pas beaucoup


Vous recommandez-vous vraiment quelque chose, qui a eval ("/" + obj [ka match [tm] + "/ gi.test (tag [tm])"


@Matchu: Je pense que ces objets arrogants "permettent à Google que pour vous" Les commentaires sont inutiles sur le débordement de la pile (et ils diminuent également la possibilité de faire des uppostimations). Le débordement de la pile est comme une énorme base de connaissances facile à trouver avec Google (!), Il est donc vraiment bon de voir des réponses utiles sans commentaires odieux. :)


@ Sk8erpeter: point équitable. 2009 n'était pas ma meilleure année; p


@Matchu: Aucun problème, vous pouvez toujours modifier votre réponse: D


@ SK8ERPETER: De même point juste. Desnarkified.



8
votes

Il est un peu en retard et la question a certainement été répondue. Toutefois, si vous êtes toujours ouvert aux suggestions et que vous n'avez pas encore passé votre temps à convertir l'analyseur indiqué de C # à JavaScript, j'ai écrit un analyseur (à l'origine en PHP) que je me suis converti sur [2] à JavaScript. Il est disponible chez Bitbucket sous la licence 3-Clause BSD. L'analyseur semble être raisonnablement rapide, mais je n'ai effectué aucune analyse sur sa vitesse.

Cela peut ne pas être aussi flexible à certains égards que d'autres projets possibles, mais il permet de définir vos propres codes ("BB-Code" ou non, avec des propriétés assez nombreuses) et est également contenue tous dans le un fichier. Ce n'est pas un simple analyseur de recherche et de remplacement et n'est pas basé sur regex.

Si cela vous intéresse, cela pourrait vous éviter de convertir cette autre bibliothèque. Techniquement, je suis un relatif "inconnu", mais c'est la grande chose à propos de JS / OSS: Vous pouvez consulter la source pour voir ce que j'ai fait.

[2] En conséquence, il existe quelques «fonctions de compatibilité» restantes, mais j'ai réécrit les objets qui avaient des équivalents natifs disponibles.


4 commentaires

@ARTMCBAIN: Projet introuvable sur Bitbucket -1


+1. Oh et bitbucket.org/amcbain/bb-code-parser serait le lien vers le référentiel réel.


Je ne suis pas très actif ici et je ne savais pas si la mise à jour si longtemps après avoir été "erronée", alors j'ai oublié. J'ai pensé à tout le moins que le repo était relié de mon site. Merci @zrvan pour avoir publié le lien, j'ai mis à jour mon commentaire avec elle.


@Artmcbain a l'air bien (et howdy!)



1
votes

J'ai rencontré le même problème, alors j'ai écrit le mien. Qui prend en charge BBCode -> Tableau AST -> Tout type de balise, prend désormais en charge HTML et réagir. Et a des plugins et des préréglages support

https://github.com/jilizart/bbob


0 commentaires