Jump to content

Archived

This topic is now archived and is closed to further replies.

EirikE

Strange string to double conversion when using preg_match

Recommended Posts

I have a very strange problem with type hinting of a String from a preg_match-function. It seems like whatever I do, the string does not get converted into a double properly, it just becomes 0. <b>Edit:</b> I have also tried using string functions to do the same(strpos,str_replace etc.) I also need to mention that the $xml-variable is from a XML file read with DOM. I don't know if that matters.

PHP-code:
<code>
$xml = "<date>1136070000</date>";
preg_match("/<date>([0-9]*)<\/date>/",$xml,$matches);
echo "String: " . $matches[0];
echo "<br />";
echo "Double: " . ((double) $matches[0]);         
</code>

Outputs:
<code>
String: 1136070000
Double: 0                                           
</code>

Any suggestions?

Share this post


Link to post
Share on other sites
[tt]$matches[0] [/tt]is the entire match--you want[tt] $matches[1][/tt], the first[tt] (...) [/tt]matched.

Share this post


Link to post
Share on other sites
That's solves it. Thanks a lot :). I actually ended up using php-functions in xslt.

Share this post


Link to post
Share on other sites

×

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.