terça-feira, 14 de junho de 2011

Usando markdown no PHP

De forma rápida o Markdown é um mecanismo de formatação de texto usado em muitos fóruns e sites, como por exemplo o GitHub.

Ele é semelhante ao usado no Wiki, só que é mais simples.
Quando a coisa complica podemos usar marcação HTML livremente, oque ocorre diferente da Wiki, que nos obriga a usar os próprios códigos da Wiki para gerar coisas como tabelas por exemplo.

Instalando
Primeiro baixe o wrapper PHP neste site.

Jogue o arquivo em algum lugar, como uma pasta libs por exemplo.

Para carregar use o código:
include_once './libs/markdown.php';
Isto informa ao PHP que a biblioteca deve ser carregada uma única vez.

Para usar chame a classe que ela te retorna o HTML formatado assim:
$html = Markdown($texto);

Observe um exemplo de um simples testador
O php é simples
include_once './libs/markdown.php';

$plain_text = "";
$html_text = "";

if ( isset($_REQUEST['texto']))
{
 $plain_text = $_REQUEST["texto"];
 $html_text = Markdown( $plain_text );
}
Ele inclui o markdown.php
E cria 2 variáveis com os conteúdos para o texto com marcação e o resultado visível (html).
Se o usuário enviar um POST com o texto marcado
ele atribui a váriavel $plain_text o valor enviado
e à variável $html_text o valor convertido para HTML pelo objeto Markdown

Agora é só jogar isso numa saída HTML.
Eu deixei o fonte completo no paste-bin (ver).
Incluindo uma "kibada" completa da página do github para usar como base na visualização.