Texy 3 – proč přidává <p> a </p>
- motorcb
- Člen | 552
Ahoj,
koketuji s Texy. U textů potřebuji aby Texy udělala z URL odkazy a přidala nedělitelné mezery před souhlásky, čárky, …
$this->texy = new Texy();
dump($this->texy->process("u nás doma"));
Proč je výsledkem
<p>u nás doma</p>
??? Jak se zbavím toho <p> a </p> – Proč to tam Texy
dává?
Díky
- chemix
- Nette Core | 1310
Ahoj @motorcb je to tim ze Texy se snazi z txt formy zapisu udelat krasny a validni HTML zapis. Coz v tomto pripade znamena, ze dava texty do paragrafu.
na strance https://texy.info/cs/try si muzes zkusit chovani.
Jak se toho zbavit? Popravde nevim zda to jde? takovy znalec nejsem a treba nekdo zkusenejsi poradi. Pokud bys vedel, ze do process budes posilat vzdy prave jeden paragraf, tak se toho snadno zbavis odstranenim prvnich 3 a poslednich 4 znaku. Bacha ale pokud do process posles dva radky. V takovem pripade se Texy spravne zachova k nim tak, ze je prevede na dva samostatne paragrafy a moje nainvni navrhovane reseni bude tvorit divno hybrid vysledek s html fragmenty uprostred textu
tak mi to nedalo a kouknul jsem se do dokumentace a html lze asi snadno vypnout pomoci : https://texy.info/…-html-module ? (nezkousel jsem) nebo bych dale studoval Texy\Modules\ParagraphModule, kde se resi prave asi ty paragrafy (https://texy.info/cs/api)
- Matey
- Člen | 142
Ahoj, v latte používam texy ako filter a taktiež som to potreboval bez <p> a ktomu správne riadkovanie. Filter vypadá nasledovne:
public static function texy($s): Html
{
$s = nl2br(htmlspecialchars((string) $s, ENT_NOQUOTES, 'UTF-8'), false);
$texy = new Texy();
$texy->setOutputMode(Texy::HTML5);
$texy->mergeLines = false;
$html = Html::el()->setHtml($texy->processLine($s));
return $html;
}