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
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 $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 | 8192
Napiš nedělitelnou mezeru znakem http://www.fileformat.info/…a0/index.htm