Hei,
Kysymys on yksinkertainen, mutta kuitenkin liian monimutkainen eli miten kannattaisi tehdä esim. etusivulla tavallisesti käytettävä uutisen lyhennelmä, josta on linkki varsinaiseen uutiseen?
Jos haluan vaikkapa 200 merkkiä pitkän tekstin ja loppuun "lue lisää!" niin tämähän onnistuu käyttämällä substr. Ongelmana on, että uutiset sisältävät -tageja, jotka sitten voivat osua "leikkauskohtaan" hajottaen sivun. Miten tämä onnistuu tehdä siististi ilman, että joutuisin poistamaan kaikki tagit ja mielellään vielä niin, että sanatkaan eivät katkeile? Lyhennelmän viimeinen merkki pitäisi siis olla kirjain ja lopuksi "lue lisää".
Apua uutistekstin lyhentämiseen
5
387
Vastaukset
Muotoilukoodeissa ei taida esiintyä välilyöntejä? Haet kohdasta 200. merkki alkuun päin ensimmäisen välilyönnin ja katkaiset siitä?
- matikkatesti ottaa päähän vieläkin
Laitat vaikka sen lyhennelmän sisältävälle elementille (taulusoli/div tms) sopivan koon ja määrittelet css:llä siihen mahtuman tekstin leikkautumaan pois.
overflow: hidden;
http://www.w3.org/TR/CSS2/visufx.html#overflow- mielipiteeni näistä matikkatesteistä ei ole vieläkään muuttu
Niin no tuo siis on kans aika "dirty" -ratkaisu. Sanat voivat jäädä kesken yms mutta ei riko mitään sivua kuitenkaan.
- KonaniPrain
strrpos:n avulla etsit ensimmäisen välilyönnin 200:n merkin jälkeen, leikkaat ja lisäät 'lue lisää...'
sen jälkeen htmlspecialchars(), niin teksti ei hajota sivua - __jmt__
Niin eihän sulla se teksti saa sisältää mitään tageja. Nehän tulee generoida vasta tulostusvaiheessa. Saatat nimitäin haluta muutella tageja tarpeen mukaan. Toinen vaihtoehto on stripata tagit pois tulostustekstistä. Haet ensin vaikka 300 merkkiä halutusta tekstistä, jonka jälkeen hurautat strip_tags() funktion läpi tuon tekstin. Lopuksi lyhennät vielä tarpeen mukaan tuota tekstiä.
Ketjusta on poistettu 0 sääntöjenvastaista viestiä.
Luetuimmat keskustelut
- 477715
- 334273
- 573745
- 503210
- 172906
Voi ei! Jari Sillanpää heitti keikan Helsingissä - Hämmästyttävä hetki lavalla...
Ex-tangokuningas on parhaillaan konserttikiertueella. Hän esiintyi Savoy teatterissa äitienpäivänä. Sillanpää jakoi kons682632- 642508
- 572444
- 402349
- 162296