Sure. $workph is a parameter-by-value to the ereg_replace function. It literally can't affect its input. Instead, it returns a completely separate copy of the modified string as its return value, so just say:
$workph = ereg_replace("[ -()]{1,}" , " " , $workph);
if you do want to alter the original variable. But since it works this way, you are also free to put the altered result into some other variable, e.g.:
$cleaned_workph = ereg_replace("[ -()]{1,}" , " " , $workph);