VIDEO: cortometraggi, videoclip, video istituzionali... Seo Web Marketing CV

Directory

Fare l'anteprima di un articolo in automatico

Mettiamo di avere un sito con molti articoli. Questi articoli possono essere in qualche modo correlati tra loro con appositi script. L'esempio classico è il plugin che nei blog permette di mostrare in automatico i link agli articoli collegati (selezionati in automatico dalla script sulla base di alcuni parametri).

Ma se volessimo aggiungerci anche un paio di frasi a quel titolo?

Dovremmo estrarre anche il testo dal database ed intervenire su questo ad esempio in questo modo:

<?php echo substr($testo,0,200) ?>

per estrare i primi 200 caratteri di un testo...

Tuttavia sarebbe più opportuno prima eliminare tutti i tag html...

<?php
$testo = strip_tags($testo);
echo substr($testo,0,200)
?>

Ma non è finita: in questo caso le nostre frasi verrebbero comunque spezzate al 200° carattere, spezzando anche eventuali parole!
Per evitare questo facciamo così, troviamo la posizione del primo spazio dopo il 200° carattere e poi diciamo alla funzione substr dove terminare la frase:

<?php 
$testo = strip_tags($testo);
$pos = strpos($testo, ' ', 200); 
echo substr($testo,0,$pos)
?>
 

Il codice completo infine potrebbe essere ad esempio questo:

<?php 
$testo = strip_tags($testo);
$testo = trim($testo);
if (strlen($testo)>=200) {
 $pos = strpos($testo, ' ', 200);
 if (!$pos) {$pos = strrpos($testo, ' ');}
 echo substr($testo,0,$pos);
} else {
 echo substr($testo,0,200);
}
?>
 

Per farla breve: elimina eventuali spazi dal conteggio, controlla che il testo sia effettivamente più lungo della lunghezza impostata per l'anteprima e, in caso affermativo, taglia il testo e controlla che la posizione del primo spazio dopo il 200° carattere non sia nulla (in caso non ci siano più spazi dopo il 200° carattere).


Jonathan Pochini : Web Marketing Specialist & SEO Specialist · esperto di comunicazione online · comunicati stampa toscana
Udine, Firenze, Carrara Sydney (Seo Specialist Sydney - Online Marketing Sydney)- Cell. 380 7079249 · skype · LinkedIn profile · jon@thanx.it