Verlanglijstje: Switch 2, PS5 Pro Most wanted: Switch 2
Verwijderd
Maar ik snap je probleem niet goed. Kan je niet veel makkelijker met een tabel werken? Gewoon 2 kolommen maken en de tekst in die kolommen parsen. Worden je zinnen vanzelf goed afgebroken.
Verlanglijstje: Switch 2, PS5 Pro Most wanted: Switch 2
Maar verduidelijk eens wat je precies wilt? als je geen mono-spaced font gebruikt, kan je het volgens mij nooit server-side perfect oplossen. Omdat je dan nooit precies kan berekenen hoe veel tekst er op een regel kan..
[ Voor 66% gewijzigd door thomaske op 13-01-2003 15:02 ]
Brusselmans: "Continuïteit bestaat niet, tenzij in zinloze vorm. Iets wat continu is, is obsessief, dus ziekelijk, dus oninteressant, dus zinloos."
Verwijderd
sorry, niet helemaal goed gelezen
[ Voor 15% gewijzigd door Verwijderd op 13-01-2003 15:28 . Reden: foutje... ]
Verwijderd
1
2
3
4
5
6
 | <?php $length = strlen($text); $pos = strpos($text, " ", (int)($length/2)); $kolom1 = substr($text, 0, $pos); $kolom2 = substr($text, $pos); ?>  | 
[ Voor 9% gewijzigd door Verwijderd op 13-01-2003 15:49 ]
In principe is het beste wat je kan doen, gewoon je tekst in twee gelijke delen knippen (of het eerste deel iets groter maken dan het tweede) en hopen dat dat goed uitkomt. In de praktijk zal je er dan soms een paar regels naastzitten, maar je fout wordt kleiner (en minder belangrijk) als je grote stukken tekst opdeelt.
Je zou een betere verdeling kunnen bereiken met behulp van font libraries, waardoor je lokaal kunt berekenen hoeveel ruimte de tekst inneemt. Dit is echter erg ingewikkeld en het is nog geen garantie dat alles goed gaat, aangezien de browser tekst altijd op een gekke manier kan formatteren (al kun je dat met een goede stylesheet voor een deel voorkomen). Ook dit is dus geen volledige oplossing en je kan je beter de extra moeite besparen.
Conclusie: het kan in principe niet perfect, dus neem genoegen met een benadering. Als dat niet acceptabel is, moet je geen kolommen gebruiken. Helaas; dat is een beperking van HTML as we know it.
Maar ik heb het volgende gedaan. Ik maar met PHP een apart tekst bestand aan met daarin de tekst afgebroken op een bepaald aantal tekens mbv de wordwrap() functie.
Dit aparte bestand lees ik dan weer in een array dmv de file() functie. Op deze manier kan ik over het aantal regels van de tekst beschikken. Op deze manier en align='justify' kom ik een heel eind en is het zeker voldoende. Hoewel het nog niet 100% perfect is...
Verlanglijstje: Switch 2, PS5 Pro Most wanted: Switch 2