Texy 3 – proč přidává <p> a </p>

motorcb
Člen | 551
+
0
-

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 | 1296
+
+2
-

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
+
+1
-

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;
}