strtotime什么也没输出

I tried the following

echo "Pre order date > $pre_order_close_date";
$pre_order_unix_time = strtotime($pre_order_close_date);    
echo "Unix time is > $pre_order_unix_time";

The result is

Pre order date >  31 Jan 2016Unix time is >

I then tried the following to see if my date format is fine

echo "Pre order date > $pre_order_close_date";
$pre_order_unix_time = strtotime("31 Jan 2016");    
echo "Unix time is > $pre_order_unix_time";

The result return was

Pre order date >  31 Jan 2016Unix time is > 1454198400

It seems that if I input the string directly its working fine, but if I use a variable in place of 31 Jan 2016, it does not output anything.

What could I have do wrong here.

Thanks for helping!

** How I get my pre_order_close_date **

$get_content is of this value

<p>Retail Price: USD 42<br />
<span class="il">Pre</span>&#8211;<span class="il">Order</span> Price: USD 40<br />
<span class="il">Pre</span>&#8211;<span class="il">Order</span> <span class="il">Close</span> <span class="il">Date</span>: 31 Jan 2016<br />
Release <span class="il">Date</span>: 1Q 2016</p>
$get_content_explode = explode("
",$get_content);

foreach($get_content_explode as $gce)
{
if(strstr(strtolower($gce),"close"))
{
$pre_order_close_arr = explode(":",$gce);
$pre_order_close_date = trim($pre_order_close_arr[1]);
}//end if gce
}//end foreach

$get_content contains HTML markup. Use strip_tags() to remove it.

$get_content_explode = explode("
", str_replace('&nbsp;', ' ', (strip_tags($get_content))));

DEMO