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

时间:2012-08-12 07:49:08

标签: php regex

我的模式中的字符串类似于:

john.smith 9.5 9.49296 Active john.s@site.com +123456789

我只想用“PHP”来回显“使用PHP”旁边的“smith”。

更新

抱歉伙计们......刚刚注意到它是一个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”的PHP代码是什么

感谢您之前的回答......

4 个答案:

答案 0 :(得分:4)

尝试拆分空格(似乎是由它划分的)

$parts = preg_split('/\s+/', $input);
print $parts[1];

答案 1 :(得分:3)

快速而肮脏的方式

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

答案 2 :(得分:1)

$string="john.smith 9.5 9.49296 Active john.s@site.com +123456789";

$array=explode(" ",$string);

然后你的号码是:

echo $array[1];

答案 3 :(得分:0)

这将有效

<?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;

?>