Autor Zpráva
Chamurappi
Profil
Mám na stránce WYSIWYG editor (konkrétně starší rozvrtanou verzi FCKEditoru) a uživatelé skrz něj občas vkládají do textů tvrdé mezery, aniž by chtěli a aniž by si to uvědomovali. Nevíte prosím někdo, jak tyto mezery zviditelnit? Násilné zasahování do HTML kódu editovaného textu není přijatelné, vyhazování všech tvrdých mezer při odeslání také ne. Proto hledám nějakou důmyslnou fintu. Stačil by mi postup provozuschopný jen v Internet Exploreru, minimálně od verze 7.

Co jsem zkoušel:
Vyrobit pomocí WEFTu EOT font obsahující jeden jediný znak, přesně na pozici, kde by měla být tvrdá mezera, a tento znak je symbol vytažený z písma, jehož tvrdá mezera nevypadá vůbec jako mezera. Jelikož Explorer 7 už (na rozdíl od šestky) posuzuje u písem zadaných ve font-family dostupnost jednotlivých znaků, těšil jsem se, že své zmutované písmo dám na první místo a že se pomocí něj zobrazí pouze ty tvrdé mezery (ostatní znaky budou vypsané standardním písmem). Bohužel se ale na vykreslování tvrdých mezer používá normální mezera (dokonce i v <textarea> a <input>u), takže tento trik k požadovanému efektu nevede.

Má někdo nějaký další nápad?
Petr ZZZ
Profil
Asi ti to na nic nebude, ale náhoda je blbec; na německé wikipedii jsem narazil na jakýsi přehled různých zápisů či druhů mezer:
Schriftzeichen in ASCII und andere Kodierungen
(Toto už asi vůbec ne: Geschütztes Leerzeichen)

Dodatek: Jestli ti tady ten můj výkřik do tmy na nic není a chceš mít raději vlákno bez odpovědí, dokud někdo nenapíše něco užitečnějšího, klidně to hoď k ledu.
kelvin
Profil
Tohle mi tuším kdysi dělala hodně stará verze FCKeditoru. Zkusil bych updatovat na novější, loni to úplně předělali a přejmenovali na http://ckeditor.com/.

Respektive, jde o to, že to dělá při každé další mezeře, než té první, prostě pokud člověk drží mezerník, nasází jich to několik za sebou a není to vina verze FCKeditoru, ale je to jeho vlastnost?

Použil bych dva regulární výrazy. Jedním bych odstranil tvrdé mezery a druhým je přidal tam, kde být mají. Já mám ten druhý výraz takto:

Replacement text: $1&nbsp;
Pattern: /\s([svzkuoSVZKAUOI])\s/
Chamurappi
Profil
Reaguji na Petra ZZZa:
To mají převzaté z anglické Wikipedie. Znám. Nepomáhá.


Reaguji na kelvina:
Zkusil bych updatovat na novější
Moc drahé — finančně i časově. Myslím, že by to nepomohlo.

Respektive, jde o to, že to dělá při každé další mezeře […] není to vina verze FCKeditoru, ale je to jeho vlastnost?
Ano. Respektive je to vlastnost komponenty prohlížeče, kterou FCK využívá.

Použil bych dva regulární výrazy. Jedním bych odstranil tvrdé mezery a druhým je přidal tam, kde být mají.
Nevím, kde být mají. To ví jen uživatel — a ten je schopný užívat mezerník i k méně vznešeným a více zavrženíhodným cílům, než je oddělení slov.
_es
Profil
Chamurappi:
uživatelé skrz něj občas vkládají do textů tvrdé mezery, aniž by chtěli a aniž by si to uvědomovali.
Čo tak byť na nich trochu drsný a po nejakom rozumne zvolenom čase po stlačení poslednej klávesy, napríklad po pol sekunde, tie nežiadúce tvrdé medzery odstrániť? Implementácia by mohla byť jednoduchá:
Po stláčení klávesu rušiť a nastavovať časovač so spustením toho odstránenia medzier.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

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