Avrei bisogno di creare un'anteprima (le prime 4-5 frasi oppure le prima TOT parole) di vari articoli che potranno poi essere letti con un link del tipo "Continua...". Ora come ora mi viene in mente soltanto di inserire un tag dedicato e poi splittare l'articolo, ma non è certo questa la soluzione migliore.
So che esistono decine di script/tutorial che spiegano come farlo, ma al momento del bisogno, chiaramente, non ne trovo nemmeno uno!
questo lo puoi tranquillamente fare con cutenews..ottimo..permette di inserire news, anteprime di news, titoli, autori e data..l'autore dipenderà dagli user che iscrivi dal pannello di controllo..almeno anche qualche tuo collaboratore potrà postare..
esistono 2 versioni di cutenews: con e senza database...tutte e due validissime..penso senza differenze..sono personalizzabilissime, e semplici da installare e utilizzare...
ciao
Ok, però così mi taglia a metà le parole...io volevo qualcosa che tagli tenendo conto degli spazi...potrei prendere le prime 200 lettere, poi prenderne una quantità X determinata dalla prima posizione di uno spazio e quindi ricomporre le due stringhe, ma credo ci sia qualcosa di meno "incasinato"
un metodo abbastanza sicuro per tagliare in modo decente è cercare il primo ".<spazio><maiuscola>" da una certa dimensione minima ad una massima. E.g.
200 caratteri - " bla bla bla bla la storia finisce qua. Comunque per .... " - 300 caratteri
parti da 200 e cerchi il pattern, ma ti fermi per sicurezza a 300. Così tagli a livello di frase mantenendo lo snippet leggibile. Questo però può dare problemi se uno scrive in modo ermetico o strano, per cui la punteggiatura è... "artistica".
Altro metodo, che però richiede un "intervento" è quello di inserire un commenti tipo <!--taglia qui--> nel testo, ed effettivamente utilizzare solo il testo che lo precede come anteprima
Alla fine ho optato per...
1) estrarre una substring dal database
2) verificare se il testo estratto è uguale alla dimensione massima consentita (se SI cerca il valore dell'ultimo spazio e taglia la stringa, altrimenti la pubblica per intera)
query: SELECT SUBSTRING(testo,1,600) AS testo FROM tabella
codice: if(strlen($testo)==600)$testo=substr($testo,0,strr pos($testo," "));