Na stronach internetowych nie ma raczej zwyczaju doskonałego formatowania tekstu, ale zawsze możemy trafić na klienta, który ma coś więcej wspólnego z typografią i powie nam, że to niedopuszczalne żeby w wyjustowanym tekście były literki "i", czy inne pojedyncze znaki na końcu linii. Trudno żebyśmy teraz siedzieli i poprawiali każdy tekst na stronie, który często jest w dodatku kopiowany i wstawiany przez CMS...
Kiedyś wykombinowałem na to prosty skrypcik, który pozwolił uspokoić 2óch bardziej wymagających klientów, a wygląda on tak:
Skrypt wciska tzw. "twardą spację" ( jak mówił Pan z PHP skrót od: "niech będą spacje") po każdym jednoznakowym słowie - wtedy automatycznie to słowo doklei się do kolejnego tak, jakby były jednym wyrazem. Dwu-znakowe i trzy-znakowe zakomentowane, bo uważam to za przesadę, a w dodatku z 3znakowymi jeśli mamy w tekście 3znakowe tagi to też pozamienia i nie zawsze to wyjdzie na dobre :)
tekst powinien się znajdować w elemencie o ID='tresc', ale to chyba widać ;)
sobota, 7 sierpnia 2010
SIEROTY i WDOWY na stronie, justowanie tekstu
Etykiety:
css,
javascript,
justowanie,
sieroty,
skrypt,
tekst,
wdowy
Subskrybuj:
Komentarze do posta (Atom)
ooo i to mi się podoba, proste i skuteczne :)
OdpowiedzUsuńPozdrawiam
Arek
skrypt nie radzi sobie z tekstem w którym następują po sobie dwie pojedyncze litery, np. z tekstu "...z mlekiem i z miodem..." zrobi: "z mlekiem i z miodem" - litera Z zostanie bez nbsp
OdpowiedzUsuńtrzeba zmienić drugą linijkę na dwie poniższe:
Usuńtekst = tekst.replace(/(\s)([\S])([\s])([\S])([\s])+/g,"$1$2 $4 ");
tekst = tekst.replace(/(\s)([\S])[\s]+/g,"$1$2 ");
Witam.
OdpowiedzUsuńMam na stronie tekst oraz przycisk po wciśnięciu którego rozwija się dalsza część tekstu.
Dlaczego skrypt usuwa sieroty tylko z pierwszego tekstu (tego widocznego na początku), a ten rozwijany pomija. Dodam, że jak za komentuje widoczny tekst, to skrypt usuwa sieroty z tekstu ukrytego.