Am I interpreting your question correctly if you, given the following input:
<div>
<span>12.92$</span>
<span>24.82$</span>
</div>
want to get back 12.92$? I.e. you want the first occurrence of an amount of money from a web site?
If so, try the following:
// Will find any number on the form xyz.abc.
// Will NOT cope with formatting such as 12 523.25 or 12,523.25
$regex = '/(\d+(:?.\d+)?) *([$])/'
preg_match($regex, $website, $matches);
//matches[0] => 123.45$
//matches[1] => 123.45
//matches[2] => $
Another, more ambitious try (Which could fail more often) would be:
// Will find any number on the form xyz.abc.
// Attempts to cope with formatting such as 12 523.25 or 12,523.25
$regex = '/(\d{1,3}(:?[, ]?\d{3})*(:?.\d+)?) *([$])/'
preg_match($regex, $website, $matches);
//matches[0] => 12 233.45$
//matches[1] => 12 233.45
//matches[2] => $