Joo eli tarttis saaha tollanen merkkijono katkastuu.. Tiiän kyl et sellanen toimii werdwrap() funktaril mut ku se wordwrappi laskee välilyönnitki siihen mukaan eli se katkasee lauseetkin (vai käytänkö sitä väärin) :D
No kerrohan nyt vähän enemmän siitä, millä tavalla katkastua.
Luepa PHP-manuaalista kohdat wordwrap, explode ja implode, niin voit päästä eteenpäin. Viestistäsi ei muuten saa mitään tolkkua, joten tämä on vain arvaus.
explodea ite ainki käyttäny pizzan saamiseks sliceiks, varsin toimiva :)
Kattokaas ku mä oon vieraskirjaa tekemässä ja sitten sinne tulee peeloja kirjotteleen jotai ö:tä pari sataa merkkiä putkeen ja sit se kusee :P
mutta jos siihen laittaa wordwrapin niin sitten se katkoo lauseetkin sillee hassusti :P
Siinä vieraskirjassa on wordwrappia käytetty näin:
$viesti = wordwrap($viesti, 55, "<br>", 1);
eli sillon jos lauseessa on yli 55 merkkiä niin se katkee, mutta sen tarttis olla sillee et jos pelkkä yks sana on 55 merkkiä nii sillon vaan katkee :P
Toivottavasti joku ymmärsi :D
Hmm. Entäs jos explodella erottelet viestin erillisiin sanoihin, ja sitten tarkistat onko sanassa se 55 merkkiä, ei pitäisi olla vaiketa kun seuraat php.netin ohjeita.
Hmm... siis jos sana on yli 55 merkkiä, niin se katkaistaan siitä kohtaa <br>:llä. En nyt varmaankaan ihan täysin ymmärtänyt, mutta jotain tämän tyylistä soveltaisin:
<?php $viesti = preg_replace("/(\w{55,})/e", "wordwrap(\\1, 55, '<br />', 1)", $viesti); ?>
edit2: korjasinpas epäselvän selityksen ja pregin paremmaksi
Tuo arctanin esimerkki ei vain huomioi skandeja ym. erikoismerkkejä. Nuo regexpit nyt ovat vielä vähän harjoitusasteella, mutta pikakokeilulla tämä toimii ja katkaisee myös kaikki yli 55:n merkin erikoismerkkijonot:
<?php $viesti = preg_replace("/([^\s|$]{55,})/e", "wordwrap('$1', 55, '<br />', 1)", $viesti); ?>
Edit: Vielä vähän yksinkertaistui
Aihe on jo aika vanha, joten et voi enää vastata siihen.