Autor Zpráva
Kamil V
Profil
Ahoj,

potřebuju do textu dostat pevné mezery, aby mně nezůstávaly předložky (atp.) na konci řádku. Když za ně místo mezery dám entitu &nbsp(středník), funguje to tak jak má. Problém je, že prohlížeč takovou mezeru nepovažuje za mezeru (zpozorováno u IE6 SP2). Pokud budu na stránce hledat text "u keře", nic to nenajde, přestože ve stránce bude "u keře".

Co s tím?
Trejpa
Profil
Kamil V

<nobr>u keře</nobr>
<span style="white-space: nowrap;">u keře<span>

http://www.jakpsatweb.cz/html/text.html#nobr
http://www.jakpsatweb.cz/css/white-space.html
tiso
Profil
Kamil V
A prečo hľadáš "u keře"? Hovorí Ti niečo pojem "stop words"?
quinux
Profil
tiso
Řekl bych, že to je vyhledávání pomocí CTRL+F3 a né pomocí vyhledávače ;o)
Bubák
Profil
Řekl bych, že to je vyhledávání pomocí CTRL+F
tiso
Profil
quinux - nič to nemení na tom že vyhľadávanie má svoje pravidlá... Vyhľadávať spojenia s jednopísmennou predložkou alebo spojkou (prípadne i presný gramatický tvar) nie je najšťastnejší nápad. Riešiť to cez nobr alebo nowrap? To je silná káva...
Trejpa
Profil
tiso
Riešiť to cez nobr alebo nowrap? To je silná káva...
Nevidím v tom řešení rozpor. Kamil V chtěl vyřešit problém, funkční řešení dostal. Zda ho nyní použije, je nyní na něm. Nic to však nemění na tom, že entita nbsp je určena právě pro tento případ a její použití za předložkami je podle mého názoru správné bez ohledu na to, že to ztěžuje hledání v jednom prohlížeči.

Mně to připadá jen jako chyba prohlížeče z uživatelského hlediska. Běžný uživatel nerozeznává mezeru vs nedělitelnou mezeru. Prohlížeč by je (kromě vykreslení) také rozlišovat neměl. Na druhou stranu je logické, že pokud chce uživatel vyhledat A, tak mu prohlížeč nedá B jen kvůli tomu, že A a B jsou podobné. V případě mezer ale většinou uživatel neví, že píše B, ale myslí A. Právě v tomto případě by měl (mohl) prohlížeč přemýšlet za uživatele.
quinux
Profil
Bubák
Řekl bych, že to je vyhledávání pomocí CTRL+F
Pravda, nějak se mi tam ta trojka připletla ;)

tiso
nič to nemení na tom že vyhľadávanie má svoje pravidlá... Vyhľadávať spojenia s jednopísmennou predložkou alebo spojkou (prípadne i presný gramatický tvar) nie je najšťastnejší nápad. Riešiť to cez nobr alebo nowrap? To je silná káva...
Řeknu to asi tak, nevím jak se vyhledávače postaví k tagu nobr, ale předpokládám, že s ním výrazný problém mít nebudou. Uživatele nezajímají nějaké pravidla vyhledávání, nezajímají je stop slova a ani neví co to je. Oni chtějí hledat a najít.
tiso
Profil
Trejpa chyba prohlížeče z uživatelského hlediska
- súhlasím, presne si to vystihol... Nepripadá mi správne riešiť to takýmto hackom, hoci nie je problém ho realizovať.

quinux - viď vyššie môj názor na to..
Dero
Profil
Kamil V

Popisovaný problém se ale projevuje jen u sousloví obsahujících znaky nad rámec znakové sady ISO-8859-1. Typicky tedy písmena s háčky.

Řešení (či spíše obezličku) nastínil Trejpa.
Trejpa
Profil
Ještě jsem IE6 otestoval a vypadá to, že se v tomto ohledu chová divně. Do políčka "Co hledat:" totiž nelze vložit nedělitelnou mezeru (bude převedena na obyčejnou). Edit: Není to pravda, jak níže popisuje Dero.

- Při hledání samotné mezery jsou nalezeny všechny (obyčejné i nedělitelné).
- Při hledání mezery a jiných písmen nejsou kombinace s nedělitelnou mezerou nalezeny (viz první příspěvek).


Dero
problém se ale projevuje jen u sousloví obsahujících znaky nad rámec znakové sady ISO-8859-1
Ne, na háčcích nezáleží. Sousloví "v[nbsp]potoce" to také nenalezne. Nevím jak ta mezera, ale zbytek znaků v ISO-8859-1 rozhodně je.
Dero
Profil
Ještě jsem IE6 otestoval a vypadá to, že se v tomto ohledu chová divně. Do políčka "Co hledat:" totiž nelze vložit nedělitelnou mezeru (bude převedena na obyčejnou).

Taky jsem IE6 otestoval a došel jsem k jiným závěrům. Pevnou mezeru vyhledávat můžu (ALT + 0160) a najdu tak výskytu s pevnou mezerou.

Ne, na háčcích nezáleží. Sousloví "v[nbsp]potoce" to také nenalezne. Nevím jak ta mezera, ale zbytek znaků v ISO-8859-1 rozhodně je.

Nedělitená mezera je v ISO-8859-1 obsažena. Toto sousloví mi IE6 (WXP SP2) najde.
Trejpa
Profil
Dero
Uznávám, že vložit tedy lze. Nelze ji jen vykopírovat z textu stránky jako nedělitelnou.

IE6 SP1 a všechny starší IE to sousloví nenajdou.
Kamil V
Profil
Trejpa
obalovat každou předložku takovým balastem (ať už je to nobr nebo span) je dost neefektivní, sice to bude fungovat, ale za cenu nabobtnání kódu a přenášených dat

tiso
není důležité co hledám a proč to hledám, já nemusím hledat nic, texty na svých stránkách znám :) Ale uživatel by mohl hledat a přece mu nebudu psát, že nesmí hledat s mezerou...

Trejpa
je jasný že nedělitelná mezera právě na tohle je, žel způsobuje problémy sice jen v jednym prolížeči, ale zato v jednym z nejpoužívanějších... Když neexistuje čisté a přijatelné řešení, vykašlu se na to, jen sem se tu zeptal, kdyby na to byl nějaký fígl...

Díky.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

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