Rychlý start
Naučte se pracovat s Texy za pár minut. Tato stránka vás provede instalací, prvním použitím a základní konfigurací.
Instalace
Texy využívá moderních vlastností PHP a vyžaduje minimálně verzi 8.1.
Nejjednodušší způsob instalace je přes Composer:
composer require texy/texy
Composer automaticky stáhne Texy a všechny závislosti.
První použití
Základní zpracování textu
Vytvoření instance Texy a zpracování textu je extrémně jednoduché:
require __DIR__ . '/vendor/autoload.php';
$texy = new Texy\Texy;
$text = 'Toto je **tučný text** a toto //kurzíva//.';
$html = $texy->process($text);
echo $html;
Výstup:
<p>Toto je <strong>tučný text</strong> a toto <em>kurzíva</em>.</p>
Metoda process() zpracuje celý text včetně blokových elementů (odstavce, nadpisy, seznamy, tabulky…).
Jednořádkový text
Pokud zpracováváte pouze jednořádkový text bez blokových elementů (například nadpisy v databázi, krátké popisky):
$texy = new Texy\Texy;
$text = 'Odkaz na "homepage":https://example.com';
$html = $texy->processLine($text);
echo $html;
Výstup:
Odkaz na <a href="https://example.com">homepage</a>
Metoda processLine() nezabaluje výstup do odstavce <p> a zpracuje pouze inline elementy.
Základní konfigurace
Texy funguje „out of the box“, ale často budete chtít upravit základní nastavení.
Nastavení cest k obrázkům
Pokud používáte relativní cesty k obrázkům, nastavte kořenový adresář:
$texy = new Texy\Texy;
// Cesta na webu (přidá se před relativní URL)
$texy->imageModule->root = '/images/';
// Fyzická cesta na disku (pro zjištění rozměrů)
$texy->imageModule->fileRoot = __DIR__ . '/public/images/';
Teď když napíšete [* photo.jpg *], Texy vygeneruje <img src="/images/photo.jpg"> a
automaticky zjistí rozměry obrázku.
Nastavení cest k odkazům
Podobně můžete nastavit kořenový adresář pro odkazy:
$texy->linkModule->root = '/articles/';
Povolení a zakázání syntaxí
Každá část Texy syntaxe lze vypnout nebo zapnout pomocí pole $allowed:
$texy = new Texy\Texy;
// Vypnout obrázky
$texy->allowed['image'] = false;
// Vypnout HTML značky ve vstupu
$texy->allowed['html/tag'] = false;
// Povolit emotikony (ve výchozím stavu vypnuté)
$texy->allowed['emoticon'] = true;
Kompletní seznam syntaxí najdete v konfiguraci.
Bezpečný režim pro uživatelský obsah
Pokud zpracováváte obsah od uživatelů (komentáře, příspěvky na fóru), použijte bezpečný režim:
$texy = new Texy\Texy;
Texy\Configurator::safeMode($texy);
$userInput = $_POST['comment'];
$html = $texy->process($userInput);
SafeMode:
- Povolí jen bezpečné HTML značky (
<strong>,<em>,<a>, …) - Zakáže třídy a ID
- Zakáže inline styly
- Zakáže obrázky
- Přidá
rel="nofollow"ke všem odkazům - Filtruje URL schémata (jen
http:,https:,ftp:,mailto:)
Více o bezpečnosti v kapitole Konfigurace – Bezpečnost.
Kompletní příklad
require __DIR__ . '/vendor/autoload.php';
$texy = new Texy\Texy;
// Konfigurace
$texy->imageModule->root = '/images/';
$texy->linkModule->root = '/';
$texy->allowed['html/tag'] = false;
// Text k zpracování
$text = '
Nadpis článku
=============
Toto je **úvodní odstavec** s odkazem na "homepage":https://example.com.
- První položka
- Druhá položka
- Třetí položka
[* photo.jpg .(Fotografie) *]
';
// Zpracování
$html = $texy->process($text);
// Výstup
echo $html;
// Dodatečné informace
echo "Titulek stránky: " . $texy->headingModule->title;
print_r($texy->summary['links']);
print_r($texy->summary['images']);
Po zpracování máte k dispozici:
$texy->headingModule->title– první nadpis (vhodné pro<title>)$texy->summary['links']– pole všech použitých odkazů$texy->summary['images']– pole všech použitých obrázků
Další kroky
Teď už víte, jak Texy používat. Pokračujte:
- Konfigurace – podrobné nastavení všech modulů
- Syntaxe – naučte se Texy markup
- Architektura – pochopte, jak Texy funguje uvnitř