Originariamente inviato da andr3a
scusami Anªkin, c'ho pensato ora che effettivamente serve anche l'unico poichè se ci fosse un solo tab tra una lettera ed un'altra questo non verrebbe convertito in spazio, utile per l'explode.

Colpa della fretta :D

andrea, usa \s+ e non \s{2,} :ciauz:
figurati :)



Cmq, se proprio si vuole tener conto di tutti i tipi di parole bisogna specificarle, pattern per pattern tipo:

codice:
$pattern[] = '(?:(?:ht|f)tps?:\/\/)?www\.\S+' ; // url
$pattern[] = 'email, non ho mai trovato le regole per costruire un pattern' ;
// $pattern[] = 'altri pattern' ;
$pattern[] = '(?:[a-z]\.){2,}' ; // acronimi
$pattern[] = "\w+(?:-\w+)?'?" ; // parole generiche, composte (-), accentate, elisioni

$pattern = implode('|',$pattern);
preg_match_all("/$pattern/i",$stringa,$keywords);

echo '<pre>';
print_r($keywords);