2011-12-28 15 views
5

Ho un metodo per memorizzare il codice di markup diretto (generato dall'editor di PageDown) in un database. In un'altra pagina, prendo il markup dal database e lo faccio passare attraverso il convertitore markdown, tuttavia non riesco a ottenere alcun risultato. Questo è il mio script:Impossibile convertire markdown in HTML utilizzando il PageDown di StackExchanges

<script type="text/javascript" src="include/Markdown.Converter.js"></script> 
<script type="text/javascript" src="include/Markdown.Sanitizer.js"></script> 
<script type="text/javascript" src="include/Markdown.Editor.js"></script> 
<script type="text/javascript"> 
    $(document).ready(function() { 
     var converter = Markdown.Converter(); 
     $("#description-content").text(converter.makeHTML("<?php echo $description ?>")); 
    }); 
</script> 

PHP fa eco al testo puro del markdown dal database. Quando visito la pagina, non c'è nulla che si presenti nel div. Che cosa sto facendo di sbagliato?

EDIT: Non vedo alcun testo echo e se aggiungo semplicemente testo in chiaro all'interno dello .text(), posso vederlo.

+0

Cosa '$ descrizione' contiene visualizzare? Hai errori JavaScript? – jprofitt

+0

'$ description' contiene una fonte di markdown pura. Attualmente contiene: '** questo è in grassetto **' – n0pe

+0

Se metto semplicemente testo nella parte '.text()' funziona. – n0pe

risposta

0

Forse si può provare a utilizzare Showdown invece di PageDown e vedere se si ottiene alcun risultato diversi, proprio come un test: https://github.com/coreyti/showdown/blob/master/src/showdown.jsShowdown è un altro Markdown js attuazione.

Il codice che hai lì non sembra avere nulla di sbagliato in esso, l'unico caso limite che posso pensare sarebbe senza virgolette senza escape in $description.

4

Markdown.Converter è un costruttore; è necessario utilizzare

var converter = new Markdown.Converter(); 
1

Una risposta in ritardo ma potrebbe aiutare i nuovi visitatori

Se siete risultato fetchig dal database e echo tramite PHP io preferirei https://michelf.ca/projects/php-markdown/classic/

Una volta scaricato il file, One può usarlo per convertire il testo del markdown in html.

<?php 

$query_post = mysqli_query($con,"SELECT * FROM `posts` ...//your query 
$row_post = mysqli_fetch_assoc($query_post); 

$content = $row_post['Body']; 
include("path-to/PHP-Markdown-Extra-1.2.8/markdown.php"); 
$text = <<<EOD 

$content 

EOD; 
echo Markdown($text); 
?> 

Questo si tradurrà come la mia risposta qui, o qualsiasi altra risposta oppure domanda qui a StackOverflow

applausi

Problemi correlati