così, salvo altre complicazioni dovrebbe andare...io ho fatto un po' di prove e la preg mi ha soddisfatto...se trovate qualche baco me lo dite?

codice:
function checkTag( $tag ){
	return preg_match("/^(([\w]+(\s)?)*)+((,)(\s)?([\w]+(\s)?)*)*$/", $tag);
}