Javascript na jednoznakové předložky na konci řádků rubrika: Programování: JavaScript

3 Tomáš Miškovský
položil/-a 5.1.2016
 
upravil/-a 6.1.2016

Dobrý den, máte někdo prosím tip na hotové řešení jednoznakových předložek na konci řádků v elementu HTML stránky, třeba jako jQuery plugin? Nějaké $('h1, h2, h3, p').VyresJednoznakovePreslozky(); Nechce se mi věřit, že něco takového už neexistuje. Zákazníci to od nás chtějí a vysvětlovat jim, že to mají dělat ručně pomocí   dost dobře nejde. Děkuji předem za každou radu.

odkaz Vyřešeno
3 Tomáš Miškovský
odpověděl/-a 6.1.2016
 
upravil/-a 19.1.2016

Ještě jednou děkuji @harrison314 za nakopnutí a dávám sem finální skript, který se mi jeví jako použitelný (dal bych to jako odpověď k jeho příspěvku, ale tam by to neukázalo pěkný zdroják)

  $('.selektor, .selektor, .selektor').each(function(index, value){
        var str = $(this).html();
        str = str.replace(/(\s|^)(a|i|k|o|s|u|v|z)(\s+)([^\p{Cc}\p{Cf}\p{zL}\p{Zp}]+)/gmi , '$1$2 $4');
        $(this).html(str);    
    })

(Edit - vyhodil jsem ty verzálky)

Komentáře

  • harrison314 : Velke pismena medzi púredlozky tam davat nemusis. To i ti zabezpeci case insenzitive. 7.1.2016
  • Peta Sittek : Doporučuji upravit na obecné řešení - match všech jedno/dvoupísmenných slov. 10.1.2016
  • kohven : Úplně obecné řešení je imho obtížně dosažitelné. Viz http://prirucka.ujc.cas.cz/?id=880 10.1.2016
  • Peta Sittek : * Doporučuji upravit na co nejobecnější řešení - match všech jedno/dvoupísmenných slov. :) 16.1.2016
  • harrison314 : Ja nie, napriklad m (metre) by som vynechal. 16.1.2016
  • kohven : Vyveďte mě někdo z omylu, ale já ta pravidla pochopil tak, že třeba "ke škole" se zalomit může. Ale třeba "tzv. slovo" by se zalamovat nemělo. Uvedený reg. výraz imho dává správné výsledky statisticky ve více případech. Všechna dvoupísmenná slova bych nehledal. Ale m a další jednotky a měny bych naopak přidal, včetně "str." a "ks.", ale jako přípony. 17.1.2016
  • uetoyo : @Peta Sittek: Osobně bych zůstal u úpravy textu tam, kde jsi si opravdu jistý (viz výčet předložek), než se to snažit nahonit obecným pravidlem podle délky *slova*. 18.1.2016

Pro zobrazení všech 5 odpovědí se prosím přihlaste:

Rychlé přihlášení přes sociální sítě:

Nebo se přihlaste jménem a heslem:

Zadejte prosím svou e-mailovou adresu.
Zadejte své heslo.