PHP-如何从字符串中提取数字?

PHP-如何从字符串中提取数字?,php,regex,Php,Regex,我有一个类似以下模式的字符串: john.smith 9.5 9.49296活动john。s@site.com+123456789 我只想用PHP从“smith”旁边的“9.5”中呼应出来 更新: 抱歉,伙计们…刚刚注意到它是一个xml文件,在safari中无法正常查看,在firefox中已签入,它显示为: <GetUserInfo> <Customer>john.smith</Customer> <Balance>9.5</Balance&

我有一个类似以下模式的字符串:

john.smith 9.5 9.49296活动john。s@site.com+123456789

我只想用PHP从“smith”旁边的“9.5”中呼应出来

更新:

抱歉,伙计们…刚刚注意到它是一个xml文件,在safari中无法正常查看,在firefox中已签入,它显示为:

<GetUserInfo>
<Customer>john.smith</Customer>
<Balance>9.5</Balance>
<SpecificBalance>9.49296</SpecificBalance>
<Status>False</Status>
<EmailAddress>john.s@site.com</EmailAddress>
<Phone>+1234567890</Phone>
</GetUserInfo>

约翰·史密斯
9.5
9.49296
假的
厕所。s@site.com
+1234567890
现在,响应“9.5”的php代码是什么


感谢您之前的回答…

尝试在空格上拆分(似乎由空格分隔)

捷径

<?php
$string="john.smith 9.5 9.49296 Active john.s@site.com +123456789";
$array = explode(" ",$string);
echo $array[1];
?>

那么您的号码是:

echo $array[1];
这会奏效的

<?php
$string = "<GetUserInfo>
<Customer>john.smith</Customer>
<Balance>9.5</Balance>
<SpecificBalance>9.49296</SpecificBalance>
<Status>False</Status>
<EmailAddress>john.s@site.com</EmailAddress>
<Phone>+1234567890</Phone>
</GetUserInfo>";

$xml = simplexml_load_string($string);

echo  $xml->Balance;

?>
平衡;
?>

我希望我知道正则表达式,我相信如果每次都遵循相同的模式,有更好的方法,我们选择的方法(同时)工作得很好。是的,如果字符串格式保持不变,我想不出其他任何东西了。你需要用php解析这个xml并获得平衡吗?
echo $array[1];
<?php
$string = "<GetUserInfo>
<Customer>john.smith</Customer>
<Balance>9.5</Balance>
<SpecificBalance>9.49296</SpecificBalance>
<Status>False</Status>
<EmailAddress>john.s@site.com</EmailAddress>
<Phone>+1234567890</Phone>
</GetUserInfo>";

$xml = simplexml_load_string($string);

echo  $xml->Balance;

?>