RkBlog

Hardware, programming and astronomy tutorials and reviews.

PHP Markdown

Opis funkcji parsującej zwykły tekst zawierający proste wizualne formatowanie za pomocą znaków na odpowiadający mu kod HTML

PHP Markdown to funkcja parsująca tekst i zamieniająca odpowiednie znaczniki na określony kod HTML. Stosowane znaczniki odnoszą się do "formatowania" używanego w zwykłych plikach tekstowych. Skrypt można pobrać z tej strony.
By uruchomić parsowanie wystarczy:
<?php
include_once "markdown.php";
echo Markdown('tutaj tekst');

Znaczniki

Do testowania znaczników możemy skorzystać z takiego oto kodu:
<?php

<?PHP
ob_start();
?>
tutaj tekst
===============
<?PHP
$tekst = ob_get_contents();
ob_end_clean();

include_once "markdown.php";
echo Markdown($tekst);
?>
Otwarcie strony z tym kodem w przeglądarce wyświetli duże "tutaj tekst" :) dlaczego? o tym poniżej.

Używanie znaczników HTML

Markdown zezwala na ich pełne używanie z tym że tagi "podwójne" typu table, div, p muszą być oddzielone od tekstu, muszą być w oddzielnej linii:
<table border="1">
    <tr>
        <td>Foo</td>
    </tr>
</table>

Nagłówki

Nagłówki mogą być oznaczane w następujący sposób:
To jest H1
=============

To jest H2
-------------

# To jest H1

## To jest H2

###### To jest H6
W przypadku znaczników z # ich ilość oznacza numer H, np. ### da H3.

Blok Wcięcia

> To jest wcięcie. Lorem ipsum dolor sit amet,
> consectetuer adipiscing elit. Aliquam hendrerit mi posuere lectus.
> Vestibulum enim wisi, viverra nec, fringilla in, laoreet vitae, risus.
> 
> Donec sit amet nisl. Aliquam semper ipsum sit amet velit. Suspendisse
> id sem consectetuer libero luctus adipiscing.
Wygeneruje tekst z wcięciem. Można tworzyć złożone wcięcia za pomocą wielokrotnych > (np. >>)

Listy

Nienumerowane:
*   jeden
*   dwa
*   lepper
Zamiast * można użyć + lub -
1.  coś
2.  numerowanego
3.  test


Wcięcia

Nieco innym sposobem generowania wciętych bloków jest po prostu "wcinanie" tekstu za pomocą 2 tabów:
To jest H1
=============
		*   Red
		*   Green
		*   Blue


Linie poziome

Możliwe kombinacje:
* * *

***

*****

- - -

---------------------------------------


Odnośniki

Proste:
To jest [przykładowy](http://foo.pl/ "Tytuł") link

[Link](http://foo.net/) bez tytułu (title)

Rozdzielone:
To jest [test] [id] linku innego

[id]: http://strona.pl/  "Strona A. Leppera"
Efekt będzie ten sam lecz zbiór linków może być uszeregowany np. na końcu dokumentu dla ułatwienia edycji.

Wygląd tekstu

*kursywa*

_kursywa_

**pogrubienie**

__pogrubienie__

Wyświetlanie kodu

Proste wyświetlanie kodu możliwe jest po zastosowaniu odwróconego pojedynczego cudzysłowia:
`tutaj jakiś kod`


Grafika

![tekst dla alt](/ścieżna do/pliku.jpg)

![tekst dla alt](/ścieżna do/pliku.png "Opcjonalny tytuł")
RkBlog

PHP w Akcji, 14 July 2008,

Comment article