Regex to replace USD prices in string

I have a string like this

En babyalarm kan koste alt fra $30 til $20.99, afhængigt af de funktioner, du ønsker. De fleste skærme kommer med et grundlæggende sæt funktioner, koster $3,000.

I need to replace the prices with a calculation.

I have this code, but it only gets the prices not including . and ,

$pattern = '#$(d*)#';

$string_with_price_replaced = preg_replace_callback($pattern, function($match) {
    return (string)(number_format($match[1]*6.5, 0, "", ""));
}, $string);

echo $string_with_price_replaced;