Oříšek s escapováním nadpisů

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
premek_k
Člen | 172
+
0
-

Na projektu vzhurudolu.cz jsem řešil požadavek na úpravu nadpisů – a to tak, aby se mezi poslední dvě slova vložila nedělitelná mezera. Toto jsem vyřešil helperem s regulárem a vypnutím escapování nadpisu ve výpise.

<?php
   $template->registerHelper('removeWidows', function ($string) {
        return preg_replace('|([^\s])\s+([^\s]+)\s*$|', '$1&nbsp;$2', $string);
	});
?>

Bohužel jsem však narazil na problém u nadpisů, které obsahují HTML tag – např. „Více <h1> ve stránce? Klidně, ale ne s HTML5 osnovou dokumentu“. V těchto případech se <h1> zpracuje jako HTML kod a nadpis se rozbije.

Chtěl bych se tedy doptat, jak takovýto požadavek nejlépe řešit.
Díky, Přemek

David Grudl
Nette Core | 8136
+
+1
-

Napiš nedělitelnou mezeru znakem http://www.fileformat.info/…a0/index.htm

premek_k
Člen | 172
+
0
-

Díky Davide! Já tušil, že na to bude nějaká finta.