Hoi,

Ik heb een aantal tabellen die door een db met text worden gevuld. Te lange text regels worden bij de spaties automaties afgebroken en op een nieuwe regel geplaatst. Maar als er geen spatie aanwezig is wordt er niet afgebroken en ziet de tabel er vervolgens niet meer uit.
Kan ik nu iets in het script ingeven dat er altijd na een bepaald aantal tekens een nieuwe regel moet komen?

BVD
Vraagje: Zijn de tabellen zo smal en jouw woorden zo lang, dat deze niet meer op 1 regel passen? Wanneer je Nederlandse volzinnen gebruikt, staan er altijd spaties in en zul je dus geen problemen hebben. Er zijn wel scripts die woorden na x-aantal tekens afkappen, maar dan kun je erg vreemde afbrekeningen krijgen.

Om het probleem op te lossen zou ik eerst eens naar de opmaak kijken.
Je hebt altijd mensen die het leuk vinden om je lay-out te verneuken:
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa

Bovendien heb je het vaak als mensen scripts kort proberen op te schrijven, of met URLs.

Volgens mij kun je dit tegengaan met wordwrap.

Je krijgt dan inderdaad wel dat de tekst op 'vreemde' plaatsen wordt afgebroken, maar dat kan nou eenmaal niet anders...
Het gaat er dus om het bovenstaande te voorkomen.
Zo te zien zou de oplossing ook in het phphulp script verwerkt kunnen worden.

Ik heb al het volgende bedacht.

if(strlen($uitkomst['plek_naam'])>20){
$uitkomst['plek_naam']=substr($uitkomst['plek_naam'],0,20);
}

Nu wil ik eigelijk dat na de 20 karakters een spatie wordt geplaatst in de regel. Dan is het probleem volgens mij opgelost doordat er dan wel een nieuwe regel gestart wordt.
<?php
wordwrap($uitkomst['plek_naam'], 20, " ", 1);
?>
Bedankt,

m'n tabel ziet er gelijk rustiger en "debiel bestendig" uit.
In het werkend houden voorals er mensen eens wat anders doen dan ze zouden moeten doen gaat nog de meeste tijd zitten.

Bedankt
Ik zat net nog even te denken, als dit probleem zich hier du sook voordoet moet het even goed aangepakt worden.
wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
Dit willen we dus niet.

if(strlen($uitkomst['plek_naam'])>18){
$uitkomst['plek_naam']=wordwrap($uitkomst['plek_naam'], 15, "<br>", 1);
}

Dit werk wel maar er zit één nadeel aan.
Als er wel spaties in de regel zitten dan zou hij gewoon niets moeten doen. Hij moet dus alleen ingrijpen als er geen spaties in de regel zitten.
je zou ieder woord eruit kunnen halen
<?php
$woorden = explode(" ", $uitkomst['pleknaam']);
foreach($woorden as $nummer => $woord){
if(strlen($woord)>18){
$woorden[$nummer]=wordwrap($woord, 15, " \n ", 1);
}
}
$uitkomst['pleknaam'] = implode(" ", $woorden);
?>
zoiets? (even uit de losse hand)
Even uit de losse hand heb je toch iets heel moois neer gezet. Ik heb geen idee wat ik heb ingetypt,
zal er eens een vervolg boek op naslaan,
maar het werkt.

Bedankt
De phphulp layout wordt sowieso niet verkloot, zoals je ziet rekt alleen het betreffende bericht uit.
Dat is dan ook Bas zijn bedoeling geweest :)
handig bij het kopieren van code, dan zitten er geen vreemde spaties plotseling in je commando's.

(wat ik bij code nog wel erg mis zijn regelnummers. Zou een mooie toevoeging zijn)

Reageren