Inlocuieste orice text cu o cifra

Salut, as vrea sa inlocuiesc de exemplu

$text = "Sex, Jocuri, Filme, Muzica, Desene, Porno";
$cat = str_replace("Sex","1",$text);
$cat = str_replace("Jocuri","3",$cat);
$cat = str_replace("Muzica","2",$cat);

Iar restul cuvintelor adica (Filme, Desene, Porno) sa fie inlocuite cu cifra 9) aici sunt definite si pot face replace dar in caz ca nu stiu exact ce ar urma ?

Edit : ```
preg_replace(’/[^0-9]/’, ‘’, $string);

am incercat functia dar imi editeaza orice litera si eu as vrea tot stringul intr-o cifra
$subcat2=preg_replace('/[^0-9]/', '', $cat);
if(empty($subcat2)) {
	$subcat2="cifra cu care am inlocuit";
	}else{
		$subcat2=$subcat2; 
	}

Încearcă

/[^0-9]+/