Est-il une implémentation PHP de markdown convient pour une utilisation dans les commentaires du public?
Fondamentalement, il ne doit permettre à un sous-ensemble de la syntaxe markdown (gras, italique, liens, bloc-citations, code-blocs et des listes), et d'en extraire tous les inline HTML (ou peut-être y échapper?)
Je suppose qu'une option est d'utiliser la normale démarque de l'analyseur, et exécuter la sortie via un code HTML désinfectant, mais est-il une meilleure façon de le faire..?
Nous sommes à l'aide de PHP markdown Extra pour le reste du site, donc nous avions déjà eu à utiliser un deuxième analyseur (le non-"Extra" version, puisque les choses comme note de bas de page de soutien est inutile).. Il semble également plus agréable analyse seulement l' *bold*
texte et tout avoir échappé à l' <a href="etc">
, que de générer <b>bold</b>
de texte et d'essayer de dépouiller les bits que nous ne voulons pas..
Aussi, sur la même note, nous sommes à l'aide de l'ADM de contrôle pour la "main" sur le site, mais pour les commentaires, quels sont les autres options? ADM javascript aperçu, c'est sympa, mais il aurait besoin de la même "stérilisation" comme le PHP markdown processeur (il ne peut pas afficher des images et ainsi de suite, sinon quelqu'un va soumettre et leur travail markdown va "casser")
Actuellement, mon plan est d'utiliser le PHP markdown -> HTML santiser méthode, et de modifier ADM pour supprimer l'image/la tête de la syntaxe à partir de showdown.js
- mais il semble que cela a été fait de nombreuses fois avant..
En gros:
- Est-il un "coffre-fort" markdown implémentation en PHP?
- Est-il un code HTML/javascript démarque de l'éditeur de ce qui pourrait avoir les mêmes options facilement désactivé?
Mise à jour: j'ai fini par tout simplement l'exécution de l' markdown()
sortie par le biais de HTML Purificateur.
De cette façon, le Markdown rendu était distincte de la sortie de la suppression, qui est beaucoup plus simple (deux pour la plupart-non modifié code de bases), plus sécurisé (vous n'êtes pas d'essayer de faire à la fois le rendu et la suppression à la fois), et plus flexible (vous pouvez avoir plusieurs epuration niveaux, dire d'une façon plus relâchée de configuration pour le contenu approuvé, et un beaucoup plus rigoureuses version pour commentaires du public)