Truncate s ignorováním HTML tagů

- Pavel Kravčík
 - Člen | 1206
 
Overflow: hidden třeba na tři řádky a pod tím tlačítko,
co javascriptem velikost dle obsahu. Nebudeš nic ořezávat proto nemusíš
kontrolovat DOM strukturu.

- Daewoo
 - Člen | 37
 
Díky všem. Nakonec jsem to HTML vyhodil a truncatem ořízl na tolik, kolik bylo třeba. Nechci se v tom teď nějak víc šťourat.
Lepším řešením by bylo přidat si do Latte vlastní filtr, který by tu mou věc zajišťoval (inspirace např. v https://stackoverflow.com/…gnoring-tags – existuje spousta možností, každá má své mouchy a nutno řádně otestovat), ale chtěl jsem spíš znát, zda mi něco základního neuniklo a zda bych nevynalézal kolo. Pokud to jednoduše aktuálně nejde, nechme to být. Ještě jednou děkuju.

- japlavaren
 - Člen | 404
 
ja pouzivam vlastny filter remove tags a potom to truncatujem:
<?php
$template->getLatte()->addFilter('removeTags', function ($str) {
			$str = Strings::replace($str, array(
				"~\r?\n~" => ' ',
				'~<br[^>]+>\s*~i' => PHP_EOL,
				'~<[^>]*>~' => ' ',
				'~ +~' => ' ',
			));
			return trim($str);
		});
?>
je tam kopu veci, co to neriesi viz. html entity a pod, ale zatial to stacilo takto a uz to pouzivam niekolko rokov
Editoval japlavaren (23. 11. 2017 16:25)