reStructuredText fragmente entfernen

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
rebern
User
Beiträge: 7
Registriert: Mittwoch 21. Mai 2008, 22:38

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!
lunar

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.
rebern
User
Beiträge: 7
Registriert: Mittwoch 21. Mai 2008, 22:38

sehr gut, danke lunar!
Antworten