-
Ridurre il testo
Salve ragazzi,
ho una domanda da porvi...
..a me occorre una applicazione in php che da un testo, formato da un indeterminato numero di lettere, si tirino fuori solo le prime, per esempio, 25...
es pratico:
Codice PHP:
$testo = "ciao sono mario rossi, ho 25 anni, scrivo dalla provincia di milano e sono un webmaster.";
(questo il testo da "ridurre")
quello che vorrei stampato a video dovrà essere
"ciao sono mario rossi, ho..."
(corrispondono a 25 caratteri, con l'aggiunta dei puntini di sospensione al termine)
questo mi serve per ottenere automaticamente un "introduzione" ad un testo piu grosso.
..spero di essere stato chiaro, ringrazio in anticipo ogni tizio che tenterà di aiutarmi :top:
-
Codice PHP:
$testo = "ciao sono mario rossi, ho 25 anni, scrivo dalla provincia di milano e sono un webmaster.";
$n = 25; // numero di caratteri da visualizzare
$intro = substr($testo , 0, $n); //caratteri visualizzati
$lnstringa = strlen($testo); // conta la lunghezza dell'intera stringa
if ($lnstringa > $n){ // se la stringa è maggiore dei caratteri che vuoi visualizzare
$intro = $intro."..."; //allora, la taglia, ed aggiunge i punti sospensivi
}
echo $intro;
-
Il codice di LastWings mostra esattamente 25 caratteri, anche se taglia le parole, invece il seguente lascia le parole intere:
Codice PHP:
$testo = "ciao sono mario rossi, ho 25 anni, scrivo dalla provincia di milano e sono un webmaster.";
$n = 25;
if(strlen($testo) > $n){ // controlla se è veramente lunga più di 25 lettere
$offset = 0;
$testo_mostrato = "";
while( ( $p = strpos($testo," ",$offset) ) !== false ){
if($p > $n){ // se la lunghezza è raggiunta
$testo_mostrato = substr($testo,0,$offset-1);
break;
}else
$offset++;
}
$testo_mostrato.= "...";
}else
$testo_mostrato = $testo;
-
gentilissimi entrambi :wink:
grazie mille