Change Post Class function

post_class() is a wrapper around get_post_class().

Try the following hook post_class which is fired from get_post_class() within wp-includes/post-template.php:

add_filter('post_class', 'filter_post_class', 10, 3);

function filter_post_class($classes, $class, $post_id) {

    $temp = implode(' ', $classes); 
    $temp = preg_replace('/\s\btag\-\w*\b/i', '', $temp);

    return explode(' ', $temp);

}

Alternatively (RECOMMENED):

add_filter('post_class', 'filter_post_class', 10, 3);

function filter_post_class($classes, $class, $post_id) {

    $classes = array_filter($classes, function($class_name){
       // use !== 0 to ensure we match tag- at begining of string
       return strpos($class_name, 'tag-') !== 0;
    });

    return $classes;

}

Another alternative method, although potentially with risks, is to:

add_filter('get_the_tags', 'filter_get_the_tags');

function filter_get_the_tags() {

    return array();

}

Although with this approach some conditional logic should be considered within the callback.

I say that for the latter because the only other function (in terms of core WP) that calls get_the_tags() is wp-includes/feed.php and inparticular get_the_category_rss().

tech