<?php

$str = [
	'categories_widget-__i__',
	'categories_widget-10',
	'categories_widget-test-extra-hyphens-...'
];

function stripFn($str){
    return substr($str, 0, strrpos($str, '-'));
}

echo stripFn($str[0]), PHP_EOL,
     stripFn($str[1]), PHP_EOL,
     stripFn($str[2]);