Как из строки удалить слова и рандомную цифру?
Попробуйте так:
$title = 'Носки мужские за 490 руб';
$title = preg_replace('/ за ([0-9]+) руб/i', '', $title);

echo $title;

Run  PHP online
$modifyTitle = explode(' за ', $title)[0];
Решения уже есть тут, но ещё вот как вариант (более читаемый к тому же, чем регулярки)