ugrás a tartalomhoz

Sortörés túl hosszú karakterlánc esetén

Castor87 · 2007. Aug. 9. (Cs), 00.29
Üdv!
Van egy űrlapom, melyben található egy textarea. Ha szóköz nélküli karakterlánccal töltöm fel, akkor kiírásnál szétesik az egész oldal. Ismerem a wordwrap függvényt, de nem igazán jó, mert a karaktereknek nem egyforma a szélességük. Nem mindegy hogy 50db "i"-t tör, vagy 50db "W"-t. Így aztán vagy borzasztóan keskeny a kiírós rész, vagy ugyanúgy szétesik az oldal. Egyik sem szerencsés.

Szvsz olyan megoldás kellene, ami megnézi, hogy 20 karakteres intervallumokban van-e legalább 1db szóköz. Ha nincs, akkor hibát jelez.

Vagy van ennél egyszerűbb/gyorsabb megoldás? Kíváncsi vagyok, más hogyan oldja meg ezt a problémát a honlapok készítése során.
 
1

hát, változó

amonrpg · 2007. Aug. 9. (Cs), 07.09
Változó, hogy hogyan oldom meg. Általában sehogy. Ha mégis szükséges, mert vélhető, hogy harmadik személy (sem én, sem a megbízóm, hanem mondjuk kommentelő) képes változtatni az oldal szerkezetén, akkor ezek állnak rendelkezésre:

div és overflow: hidden;
wordwrap x karakternél
if( strpos( ' ', $text ) === false ) user_error( 'írgyá be szóközt is!', E_USER_ERROR );

valamint ezek kombinációja. HTML formázású szövegnél egy picit bonyolultabb a dolog, ott nem érdemes túlszofisztikálni, ezért általában az egyes és hármad pontokat szoktam használni.
2

wordwrap

Szekeres Gergő · 2007. Aug. 9. (Cs), 10.48
szerintem nyugodtan wordwrapold, aki beír 50karaktert egybe, az megérdemli hogy 60 pixel után kapjon egy sortörést. Amúgy én ezt szoktam belőni valamilyen közepesen széles betüre (k,n), majd egy overflow divbe rakom, ha hosszabb lenne egyszerüen elhideolom a kilógó részt.
3

kényszerített sortörés és linkek

Thom · 2007. Aug. 9. (Cs), 11.04
További szempont lehet - ha megengeded a linkeket a beírásban, vagy pl. a http:// kezdetű szavakat auto. linkesíted - hogy csak a link kiírt szövegét törje meg, a link url-t (a href= értékét) ne. Ez a helyzet életszerűen is előfordulhat, nem kell hozzá egy rosszindulatú kommentelő. És egyáltalán, semmilyen megengedett html tag belsejébe ne tehessen sortörést.
Úgyhogy lehet azért ragozni a feladatot, ha jó megoldást akarsz.
4

köszönöm

Castor87 · 2007. Aug. 9. (Cs), 20.42
Azt hittem lesz egy begyakorolt módszer, de úgy látom nincs tökéletes megoldás. Nekem a div-es hidden szimpatikus leginkább, azt hiszem ezt választom. Ha valaki teleírja a kommmentet aaaaa betűkkel (és nem linket szúr be), akkor meg is érdemli, hogy ne látszódjon teljes egészében a hozzászólása.

Köszönöm szépen a válaszokat!
6

overflow:hidden

Marcell · 2007. Aug. 10. (P), 16.41
Én is így szoktam, legalább nem terheli a szervert. Ha linkbe akad, az is használható marad, max nem látszik a vége... ez többnyire úgyis a ?hülyeváltozó1=feleslegesérték1&hülyeváltozó2=feleslegesérték2&... végű linkeknél szokott előfordulni, ahol édesmindegy, ha lemarad a vége.

Megjegyzem, lassan ideje lenne erre egy nomális böngészőkbe integrált szabványos CSS megoldás...
5

teszt :)

Castor87 · 2007. Aug. 9. (Cs), 20.57
Kipróbálom, hogy itt hogyan oldották meg, ha nem baj. :P

WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW