2009-12-03 9 views
10

Attualmente sto analizzando il lato server bbcode ma mi piacerebbe mostrare un'anteprima proprio come fa questo sito.Qualche buon parser javascript per BBCode?

Se elaboro il server bbcode usando ajax è un po 'troppo lento, quindi ho pensato di farlo lato client, per mostrare solo l'anteprima.

Ragazzi, conoscete qualche parser di bbcode scritto in javascript?

risposta

5

Non ho utilizzato personalmente alcun parser di BBcode Javascript, ma i primi due risultati di Google (bbcodejs e this blog post) sembrano piuttosto deboli. Il primo sembra supportare solo il semplice find-and-replace, e quest'ultimo sembra avere un built-in BBcode pre-impostato, quindi probabilmente dovresti modificarlo un po 'se hai scelto quella soluzione.

Le tue migliori opzioni sono probabilmente quelle di rollare la tua soluzione (magari basando il tuo lavoro su uno dei due collegamenti qui), o semplicemente usare AJAX e andare avanti. Questo è probabilmente il modo migliore per garantire che le anteprime siano accurate, e comunque l'anteprima non deve essere in tempo reale su ogni keypress; un ritardo prima che persino l'invio della richiesta sia accettabile.

+5

Sì, ho visto entrambi i link prima di postare, ma stavo cercando qualcosa di un po 'più popolare, proprio come la libreria che sto usando ora (http://bbcode.codeplex.com/). Quindi, probabilmente lo porto a JS. Sembra che non ci sia molto – Drevak

+4

Sei pungente raccomandare qualcosa, che ha 'eval ("/"+ obj [k] .tmatch [tm] +"/gi.test (tag [tm]) "' in esso? – katspaugh

+2

@Matchu: Penso che questi arroganti _ "Lasciami Google che per te" _ i commenti non siano necessari su Stack Overflow (e riducono anche la possibilità di ottenere upvotes). Stack Overflow è come un'enorme base di conoscenza che è facile da trovare usando Google (!), quindi è davvero bello vedere risposte utili senza commenti odiosi :) :) – Sk8erPeter

7

È un po 'tardi, e la domanda ha sicuramente avuto risposta. Tuttavia, se sei ancora aperto ai suggerimenti e non hai ancora dedicato il tuo tempo a convertire il parser indicato da C# a JavaScript, ho scritto un parser (originariamente in PHP) che ho convertito da me [2] a JavaScript. È disponibile allo bitbucket con la licenza BSD a 3 clausole. Il parser sembra essere ragionevolmente veloce, ma non ho eseguito alcuna analisi sulla sua velocità.

Potrebbe non essere flessibile in qualche modo come altri progetti possibili, ma consente di definire i propri codici ("codice-bb" o meno, con alcune proprietà), ed è anche tutto contenuto all'interno l'unico file. Questo non è un semplice parser find-and-replace e non è basato su espressioni regolari.

Se questo è di vostro interesse, potrebbe salvarvi dal dover convertire quell'altra libreria. Tecnicamente, sono un parente "sconosciuto", ma questo è il bello di JS/OSS: puoi controllare la fonte per vedere cosa ho fatto.

[2] Di conseguenza, ci sono alcune "funzioni di compatibilità" rimanenti, ma ho riscritto le cose che avevano equivalenti nativi disponibili.

+2

Si prega di utilizzare github! – Mark

+0

@ArtMcBain: progetto non trovato su bitbucket -1 –

+1

+1. Oh e https://bitbucket.org/AMcBain/bb-code-parser sarebbe il link al repository attuale. – zrvan