Newsgroup: it.comp.www.php
Titolo: Ottenere le prime parole di un testo

Salve a tutti
Il mio scopo è quello di visualizzare i primi duecento caratteri circa
dell'articolo nella lista degli articoli.
Considerando che si tratta di un sito piccolo e di piccoli articoli,
posso permettermi di scaricare anche tutti i testi in lista dal
database, però non so come fare ad evitare di tagliare le parole in
tronco.
Come faccio?
Grazie...

 Grazie...
per esempio potresti prendere i primi 200 caratteri e poi scorrere a
ritroso finch� non trovi uno spazio, poi tagli da 0 a quella posizione e
ci aggiungi tre puntini "..."
per dire...

 Grazie...
qualcosa del tipo:
$tmp = substr($miotesto,0,200);
$tmp = substr($tmp,0,strrpos($b, ' '));
echo $tmp . '...';

michelangelo giacomelli ha scritto:

pi� o meno dovrebbe venire cos�:
$stringa="mio_testo_lungo_tantissimo_del_quale_voglio_solo_una_parte";
$testo=substr($stringa,0,strpos($stringa," ",200));
echo $testo."...continua...";

 $testo=substr($stringa,0,strpos($stringa," ",200));
Così però sfori oltre i 200 caratteri.
$endOfString = 198-strpos(strrev(substr($stringa,0,198)), " ");
//tagliamo la stringa sostituendo l'ultimo spazio con i puntini
$testo       = substr($stringa, 0, $endOfString-1)."...";

 $testo       = substr($stringa, 0, $endOfString-1)."...";
beh lui aveva detto 200 circa...che sf�ro di qualcosa lo so ma voglio 
dire massimo arriver� a 210...

 massimo arriverà a 210
Però è qualocosa che non controlli, io preferirei piuttosto troncare a 
200 netti.

 200 netti.
Solo una opinione personale.
Io uso un sistema diverso, faccio inserire un tag specifico per tagliare
il testo nel punto voluto.
Lo trovo un modo pi� raffinato per controllare l'output.
Max
-- 
http://www.maxori.it
L'Arte � la capacit� di fare cose di nessun valore
e di riuscire a venderle
F. Zappa

 Max
ma non � automatico per�, mi pare di capire che in fase di scrittura del 
testo, arrivati a 200 caratteri circa tu chieda all'utente di inserire 
nel punto voluto il tag no?

 nel punto voluto il tag no?
Non esattamente, infatti il mio intervento era solo una aggiunta, una
opinione personale al post.
Siccome pu� capitare che nel testo da tagliare ci siano links o altri
tag (em, u, ecc.), pu� capitare che questi vengano tagliati generando
problemi impossibii da prevedere.
In questo modo chi scrive ha il controllo completo dell'output.


 Max
giusto...non avevo pensato a questa casualit�

 giusto...non avevo pensato a questa casualità
sì, ma richiede uno sforzo in piu' all'utente finale.
e si sa gli utenti finali sono in maggioranza inaffidabili, quanti di 
loro si scorderanno di mettere tale tag?
risposta: l'80% 
:|

 risposta: l'80% 
Sono assolutamente d'accordo con te.
Infatti nei progetti in cui mi � stata richiesta questa feature non ho
mai fatto cenno al fatto che avrebbero potuto scrivere del codice
html...
A parte il fatto che posso sempre usare strip_tag, il flag che utilizzo
di solito � del tipo [], o ----, insomma, cose che di solito non si
usano normalmente


 A parte il fatto che posso sempre usare strip_tag
C'è anche da dire quando si fanno queste cose è per avere un'anteprima
di un contenuto, e questo a volte (dipende dal suo utilizzo) può
andare bene anche in puro formato testo, il che rende molto più
semplice il calcolo.
Se invece si vuole che l'anteprima contenga $x caratteri, escluso
l'html (quindi <a href="pinco">palla</a> viene considerato come 5
caratteri, 'palla'), ma che mantenga la formattazione originale, la
cosa si complica veramente ma veramente tanto (provate a pensare se il
contenuto è dentro una tabella html..)
Dipende dalla sua esigenza