A jedeme dál ...
Človíčkův Weblog aneb Michal Horák bloguje

PHP: Jak automaticky přidávat pevnou mezeru za předložky

 | 9.10.2006

Stejně jako u sazby textu při tisku existují typografická pravidla, tak existují typografická pravidla i pro web. Jak vyřešit nezalamování textu v případech, kdy máme před slovem jednopísmenné předložky nebo spojky, si ukážeme dnes.

Řešení je docela jednoduché, použijeme funkci ereg_replace(string vzor, string nahrazení, string řetězec), kde použijeme regulárního výrazu. Ten sestavíme tak, že uděláme výčet znaků, které chceme změnit. Regulární výraz tedy bude vypadat takto: „([svzkuoiaSVZKAUOI])“. Tyto znaky nahradíme řetězem „ znak “.

Příklad kódu:

<?php

$text
="Dnes i včera bylo v Šebetově pěkně";
$typotext=ereg_replace(" ([svzkuoiaSVZKAUOI]) "" \\1&nbsp;"$text);
echo 
"<p><strong>Neupravený text: </strong>".htmlspecialchars($text)."</p>";

echo 
"<p><strong>Upravený text:</strong>  ".htmlspecialchars($typotext)."</p>";
?> 

Příspěvek vyšel v Pondělí 9.10.2006 22:27 v kategorii Programování a byl 20167x zobrazen. Pokud se vám líbil můžete si jej zalinkovat: Linkuj.cz, Del.icio.us

Komentáře


[1] Michalek | 9.10.2006 21:55

Gravatar pro Michalek Nemá to být
echo "

Upravený text: ".htmlspecialchars($typotext)."

";
?

[2] Michalek | 9.10.2006 21:56

Gravatar pro Michalek Ouch, sorry za nějaké rozhození komentáře, jde o to, že upravený text by se měl vypisovat přes $typotext a ne $text; imho.

[3] Michal Horák | 9.10.2006 22:23

Gravatar pro Michal Horák Jo máš pravdu, hned to napravím a komentář taky, u weblogu ještě vychytávám chybičky ;o)

[4] JPAS. | 14.10.2006 16:55

Gravatar pro JPAS. Pokud si chcete typograficky ošetřit text, můžete zkusit CSText: http://strzibny.name/cstext.

[5] Šimon Grimmich | 22.10.2006 20:44

Gravatar pro Šimon Grimmich A co "na", "ve", "za", "pod", "nad",.....??

[6] Michal Horák | 24.10.2006 22:05

Gravatar pro Michal Horák To můžeme regulární výraz samozřejmě doplnit:
([svzkuoiaSVZKAUOI]|ve|pod|nad|...|) Prostě co je potřeba

[7] petr | 8.3.2007 12:19

Gravatar pro petr mimochodem, mas tam drobnou chybku. ten seznam je takovy: K, k, O, o, S, s, V, v, Z, z U, u, A, I, i. Tedy malé a to této skupiny nepatří

[8] Jakub Hejda | 11.5.2007 11:58

[9] gerry | 27.1.2008 20:46

Gravatar pro gerry Pěkný článek a inspirace pro mě, na jejíž základě jsem vytvořil veřejny "  replacer" http://www.nedivse.cz/doplnovani-pevnych-mezer/ a trochu jem tu tvoji metodu ještě vylepšil.

Přidejte svůj komentář

Přidej komentář

Tipy na přečtení

Kategorie

Vyhledávání

Odkazy

Nejčtenější příspěvky za poslední týden

Poslední příspěvky

"A jedeme dál ..." Človíčkův Weblog aneb Michal Horák bloguje. (c) Michal Horák (Človíček webdesign) 2006