parseur markdown personnalisé

L'auteur de ce sujet a trouvé une solution à son problème.
Auteur du sujet

bonjour,

Pour mon site sous symfony, je suis en train de mettre en place un markdown personnalisé dans pour un textarea avec le bundle de knp, knp markdown bundle. Le problème c'est que je ne vois pas du tout comment rajouté des règles au parser qui existe déjà la. Si quelqu'un peut me mettre sur la piste…

Édité par albert733

+0 -0
Staff

Cette réponse a aidé l'auteur du sujet

La documentation nous dit ceci :

Change the parser implementation

Create a service implementing Knp\Bundle\MarkdownBundle\MarkdownParserInterface, then configure the bundle to use it:

1
2
3
knp_markdown:
    parser:
        service: my.markdown.parser

Le mieux, je pense est de créer une classe de service qui étend la classe Knp\Bundle\MarkdownBundle\Parser\MarkdownParser et qui surcharge la méthode transformMarkdown de cette manière :

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
<?php
public function transformMarkdown($text){
    $text = $this->parseHighPriorityExtensions($text);
    $text = parrent::transformMarkdown($text);
    return $this->parseLowPriorityExtensions($text);
}

private function parseHighPriorityExtensions($text){
    // met ici les extensions qui doivent être exécutées en premier
    $return $parsedText;
}

private function parseLowPriorityExtensions($text){
    // met ici les extensions qui doivent être exécutées à la fin
    $return $parsedText;

}

Édité par artragis

+1 -0
Vous devez être connecté pour pouvoir poster un message.
Connexion

Pas encore inscrit ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte