Hallo
ich benutzte reStructuredText auf einer Django Seite. Nun gibt es den Fall das man moechte das alle Formatierungen die damit gemacht worden sind entfernt werden.
Gibt es da vielleicht etwas das Markup entfernt aus einem String mit Markup? Sowas wie in PHP die Funktion strip_tags() das Html entfernt auf reStructuredText.
danke!
reStructuredText fragmente entfernen
Da ReST keine dezidierten Tags hat, die man einfach entfernen könnte, und Markup auch teilweise abhängig von Kontext ist, ist es schwierig bis unmöglich, das einfach zu entfernen.
Ich würde einen anderen Ansatz wählen, und docutils die Arbeit überlassen, das Markup auseinander zu nehmen. Per "docutils.core.publish_doctree" erhält man den Dokument-Baum. Diesen kann man dann über einen eigenen Writer in Reintext übersetzen. Die Implementierung eines solchen Writers sollte nicht allzu schwer sein, da Docutils relativ leicht erweiterbar ist.
Allerdings musst du dir die Arbeit auch nicht selbst machen, in Sphinx existiert ein solcher Writer bereits. Dessen Quellcode ist sehr übersichtlich, in von Sphinx zu entkoppeln sollte nicht schwer sein.
Ich würde einen anderen Ansatz wählen, und docutils die Arbeit überlassen, das Markup auseinander zu nehmen. Per "docutils.core.publish_doctree" erhält man den Dokument-Baum. Diesen kann man dann über einen eigenen Writer in Reintext übersetzen. Die Implementierung eines solchen Writers sollte nicht allzu schwer sein, da Docutils relativ leicht erweiterbar ist.
Allerdings musst du dir die Arbeit auch nicht selbst machen, in Sphinx existiert ein solcher Writer bereits. Dessen Quellcode ist sehr übersichtlich, in von Sphinx zu entkoppeln sollte nicht schwer sein.