Autor Zpráva
slovakCZ
Profil
Ahoj,

lze pomocí javascriptu (mohu použít knihovnu jQuery) udělat to, aby se mi poslední "slovo" (pokud má tři a méně písmen (předložky, spojky...)) odsazovalo na nový řádek?

Díky za tipy
DJ Miky
Profil
Můžeš v textu např. regulárním výrazem nahradit mezeru za všemi třípísmennými slovy nedělitelnou mezerou ( ). Mohlo by to vypadat třeba takhle:
text.replace(/(\b[a-zA-Z]{1,3}\b) /g, '$1 ')
Tím proženeš zdrojový text a vrátí ti to text s nahrazenými mezerami za 1-3písmennými sekvencemi písmen. Pozor, nedá se to použít na text s HTML - nahradí to i mezeru např. v <a href="">.
peta
Profil
Cili treba slovo les, pes, mic, ryc, fik, sen, nas, vas, zar, den, noc, ven? :) Nebylo by lepsi presne definovat pro jaka slova to ma delat?
Lze? Ano. Napr. bych tam pridal <br> nebo mezera + <span>&nbsp;(1-2x)</span> + mezera
Chamurappi
Profil
Reaguji na slovakaCZ:
Tvrdé mezery na vhodná místa by měl dosadit už server. Řešit to JavaScriptem je pitomost (i když to také jde…).
slovakCZ
Profil
DJ Miky:
Super, diky

peta:
asi bych to az tak nekomplikoval.. to ze to nahradi i slovo les, pes.... mi zas tak nevadi, kdyz nastane pripad, kdy toto tripismenne slovo bude na konci radku tak se hold odsadi na novy, takove peklo to neni.. asi by bylo ale lepsi udelat nejaky slovnik slov, ktera bych chtel takto nahrazovat. Sestavovat ale takovy seznam by z hlavy nebyla sranda :o)

pak jsem narazil jeste na jednu vec. pokud mam "nebo-li" na konci radku, tak se mi to "li" da na radek novy. Existuje v html pomlcka, ktara by se slova na konci radku nerozdelovala, ale "slepila" je k sobe? Nebo musim odsadit cele "nebo-li"?

Chamurappi
To bohuzel neprichazi v uvahu, pokud to ma byt staticka html stranka na flash disku / CD (coz je muj pripad). Varianty jsou bud pouzit JS nebo natvrdo v html pridat odradkovani nebo pevne mezery. Takto jsem to ale resit nechtel, jelikoz vim, ze cilovy uzivatele budou mit JS zapnuty (resp jej zapnuty mit musi jinak cela aplikace postrada smysl a nebude pouzitelna [s tim se samozrejme pocita]). A take proto, ze se jedna o obrovske mnozstvi textu, ktere bych jen cetl 4 hodiny.
Chamurappi
Profil
Reaguji na slovakaCZ:
pokud to ma byt staticka html stranka na flash disku / CD (coz je muj pripad)
Ta statická stránka je tvořená ručně? Jestli ne, nešlo by nějak začlenit takovou úpravu do výrobního procesu?

jelikoz vim, ze cilovy uzivatele budou mit JS zapnuty
Nezapomeň na mark of the web pro Explorery.

take proto, ze se jedna o obrovske mnozstvi textu, ktere bych jen cetl 4 hodiny
Proč bys ho musel číst? Stačí to projet jednorázovou náhradou s regulárem, který uvedl DJ Miky. Nevidím důvod k dodatečnému přechroustávání stránky v prohlížeči při každém načtení.

pokud mam "nebo-li" na konci radku, tak se mi to "li" da na radek novy
Co to je „nebo-li“? Tam tu pomlčku odmaž úplně, nepatří tam.
Jinak existuje i nezalomitelná pomlčka.

asi bych to az tak nekomplikoval.. to ze to nahradi i slovo les, pes.... mi zas tak nevadi
Čeština má docela jasně stanovená pravidla pro umísťování pevných mezer.
slovakCZ
Profil
Chamurappi:
Stranka je vytvořena ručně člověkem, který data za den práce naplnil.

Nezapomeň na mark of the web pro Explorery.
Ano vím o tom, je připravena i verze bez podpory JS, která ovšem nese pouze informační charakter. Nemá takové možnosti, jako verze se zapnutým JS.

přechroustávání stránky v prohlížeči při každém načtení.
To je pravda, to jsem si neuvědomil. Očividně nejlepší řešení

Co to je „nebo-li“? Tam tu pomlčku odmaž úplně, nepatří tam.
Nebo-li byl špatný příklad, ale všiml jsem si nějakého podobného spojení v textu, kdy se text za pomlčkou zalomil. Nemám to před sebou abych se koukl, ale byl to nějaký přechodník (je-li, mají-li...). Za pomlčku děkuji, to je to, co jsem hledal.


Děkuji za tipy, já myslím, že je vyřešeno. Teď si s tím už nějak poradím. Sice je podle mého blbost na webu takto dbát na češtinská pravidla (web nejsou noviny) ale když vezmu v úvahu to, že se jedná o stránku na CD/Flash tak to asi smysl dává.


Díky,

Tom

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: