Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: Merkkijonon katkaisu?

Sivun loppuun

ozmou [04.03.2005 21:17:41]

#

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

Blaze [04.03.2005 21:36:24]

#

No kerrohan nyt vähän enemmän siitä, millä tavalla katkastua.

Metabolix [04.03.2005 21:49:30]

#

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.

chiqu [04.03.2005 21:53:53]

#

explodea ite ainki käyttäny pizzan saamiseks sliceiks, varsin toimiva :)

ozmou [05.03.2005 10:42:42]

#

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

chiqu [05.03.2005 10:58:30]

#

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.

arcatan [05.03.2005 11:36:56]

#

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

ajv [05.03.2005 12:21:46]

#

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


Sivun alkuun

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta