Jak przenieść pojedyncze znaki (m in a, i, o, z) do nowej linii«y nie zostawały na końcu tekstu


[PHP] Jak przenieść pojedyncze znaki (m.in. a, i, o, z) do nowej linii aby nie zostawały na końcu tekstu?

0x01 graphic

Chcesz aby strona była utworzona bez wiszących na końcu linii, pojedynczych znaków, a więc w sposób zgodny z polską pisownią.

Wisząca litera "a" w przykładzie:

pojedynczych znaków, a
więc w sposób

powinna zostać automatycznie przeniesiona linijkę niżej:

pojedynczych znaków,
a więc w sposób

0x01 graphic

Zanim napiszę jak przenosić pojedyncze znaki do nowej linii, pozwolę sobie przytoczyć małą historyjkę. Otóż pewnego dnia dzwoni do mnie szef dużego wydawnictwa i pyta, czemu na wykonanych przeze mnie stronach wydawnictwa "wiszą bękarty" (innych zastrzeżeń nie miał).

W slangu dziennikarskim "bękarty" to właśnie wiszące, niechciane literki, które nie zawsze uda się wyłapać podczas korekty tekstów. Z uwagi na profil firmy, "bękarty" były dla wydawcy fatalnym błędem i nie powinny występować w prasie oraz na stronach WWW.

Rozmowa na temat "bękartów" przerodziła się w dosyć długie "posiedzenie". Nie obyło się bez przykładów stron największych wydawnictw na świecie, przytaczania znanych witryn i wreszcie odwoływania się do rozsądku.

Ostatecznie udało mi się przekonać zleceniodawcę, że "bękart" to w Internecie nic złego i nie ma sensu na siłę przekształcać zawartości strony do "poprawnego" formatu. Po prostu nikt na świecie nie przejmuje się wiszącymi znakami, bo w różnych rozdzielczościach ekranu i przy różnej wielkości czcionki, szerokość tekstu jest inna.

Oczywiście zdarzają się jakieś bardzo oficjalne serwisy, gdzie treść i forma mają ogromne znaczenie i wtedy faktycznie można pomyśleć o dokładniejszym składzie tekstu. Ale są to sytuacje wyjątkowe.

Jeżeli chcesz aby pojedyncze literki nie wisiały na końcach linii, możesz do nich dodać znak spacji, który nie przełamie się podczas przejścia do kolejnej linii i "zabierze" ze sobą literkę...

<?

$tekst="

Przykładowy, a tekst, i który o pokaże, że przełamanie z linii

nie spowoduje i wiszenie, a liter, u zwanych i bękartami! Przykładowy, a

tekst, i który o pokaże, że przełamanie z linii nie spowoduje i

wiszenie, a liter, u zwanych i także o bękartami!

";

$tekst = preg_replace("/\s(\S)\s+/"," \\1&nbsp;",$tekst);

echo $tekst;

?>

Wyrażenie regularne jest proste w konstrukcji. Mały symbol \s oznacza spacje, a duży symbol \S oznacza wszystko co spacją nie jest. Nawiasy pozwalają zgrupować literę, a by odwołać się do niej przez podwójny ukośnik podczas dodawania znaku spacji (&nbsp;)

Można oczywiście w inny sposób (nawet ręcznie) dokleić wiszącą literkę do następnego wyrazu. Ważne aby całość wyglądała w kodzie HTML następująco:

Przykładowy, a&nbsp;tekst, i&nbsp;który o&nbsp;pokaże, że przełamanie

z&nbsp;linii nie spowoduje i&nbsp;wiszenie, a&nbsp;liter, u&nbsp;zwanych

i&nbsp;bękartami! Przykładowy, a&nbsp;tekst, i&nbsp;który o&nbsp;pokaże,

że przełamanie z&nbsp;linii nie spowoduje i&nbsp;wiszenie, a&nbsp;liter,

u&nbsp;zwanych i&nbsp;także o&nbsp;bękartami!

Przeglądarka zastąpi spacje pustymi polami, ale dzielić w nowych liniach będzie zestawy wyrazu z literą, a użytkownik zobaczy ładnie skrojony tekst. I to w pełni rozwiązuje sprawę "bękartów"...



Wyszukiwarka

Podobne podstrony:
Jak formatować tekst,?y po przekroczeniu określonej długości przechodził do nowej linii
Jak szybko przenieść zawartość pliku tekstowego do tabeli, PHP Skrypty
Jak przysyłać opowiadania do Nowej Fantastyki
Objaśnienie jak przenieś motywy do Huawei P9 Lite
jak przenieść obszar selekcji
PDF Jak przenieść dane z pliku ISO na płytę CD, pc 10s075ok
Jak być asertywnym, Socjologicznie, Wstęp do psychologii
czyli jak powiedzieć, że A jest podobne do B, lub że A jest takie jak B
Jak przekazać ogłoszenie o udzieleniu zamowienia do Urzedu OPWE
jak przeslac dane z pol tekstowych do innych stron, PHP Skrypty
prawoznawstwo, Zagadnienia z zakresu wstępu do prawoznawstwa kompleksowo objaśnione zarówno na podst
prawoznawstwo, Zagadnienia z zakresu wstępu do prawoznawstwa kompleksowo objaśnione zarówno na podst
Nabożeństwo do Ducha Świętego (ZNAJDZ CZAS NA MODLITWE), Koronka do Ducha Świętego 2, Odmawia się ja

więcej podobnych podstron