Salve!
Io ho un problema, in pratica con una funzione tronco una stringa in un determinato numero di parole:
Codice PHP:
function word_limit($str, $limit) {
preg_match("/^\s*(?:\S+\s*){1," . (int) $limit . "}/", $str, $matches);
if(count(explode(" ", $matches[0])) < $limit) {
return $str;
} else {
return $matches[0] . "...";
}
}
echo word_limit("ciao mondo!", 1); // stampa ciao...
E se si tratta di semplici parole separate dagli spazi funziona molto bene.
Il fatto si complica quando si tratta dei tags html!
Come posso far contare un interno tag come una sola parola???
Credo di dover "unire" a quell'espressione un altra che trovi i tags html.
Ho trovato questa:
Codice:
/<\/?\w+((\s+(\w|\w[\w-]*\w)(\s*=\s*(?:\".*?\"|'.*?'|[^'\">\s]+))?)+\s*|\s*)\/?>/i
Ma non so come integrarla con quella sopra! Magari qualcuno più esperto di me potrebbe aiutarmi?
Grazie mille !