$str = "12 000 Тг.";
// Сначала оставим в строке только цифры
$result = preg_replace("/[^,.0-9]/", '', $str);
// Явно преобразуем в число
$result = (int) $result;
оставлять не обязательно, но данные могут содержать . и , как разделители целой и дробной части.
Если исходные данные чистые и есть явное понимание что . и , не несут смысловой нагрузки - их можно смело убрать из правила регулярного выражения.
Боюсь показаться назойливым, но хочу предложить вам самостоятельно попробовать свой код с "данными, которые могут содержать . и , как разделители целой и дробной части". Результат вас несколько удивит
Ипатьев, я так понимаю, имелось ввиду, что, если взять "12.34", то
1) не убирая точку получим 12
2) убирая точку получим 1234
Андрей подразумевал, что вариант 1 предпочтительней.
Вы зря так нервничаете.
Когда наберетесь немного опыта, вас тоже будет забавлять такое количество ошибок в ответах на такой, казалось бы, примитивный вопрос :)
Опыт "в разных языках" может подвести, если речь идёт об одном конкретном, с которым опыта, как раз, маловато. Но это не проблема, если Даннинг с Крюгером не мешают, а есть адекватная оценка своих познаний в конкретной области и свойственная настоящим специалистам привычка всегда сомневаться в своих догадках и поэтому всегда проверять их на практике.