Originariamente inviato da simo22
Ti consiglio di usare le PCRE invece delle RegExp POSIX che sono deprecate.
Comunque puoi, con uno str_replace fare una cosa del genere:
$parole_inutili = array("il", "lo", "la", ecc ecc);
$q = str_replace($parole_inutili, "", $q);
$q = preg_replace("#/+#", "/", $q);
L'array delle parole inutili te lo riempi con tutto quello che devi scartare. Lo str_replace cancellerà tutte le parole inutili e il preg_replace sistemerà eventuali duplicazioni di slash.
Per prendere solo le prime 3 parole puoi fare:
$q = explode("/", $q);
$q = implode("/", array($q[0], $q[1], $q[2]));
Leggiti un po' di roba su php.net, soprattutto riguardo alle PCRE (Perl-Compatible Regular Expression)