如何从字符串和所选字母中仅提取整数?

时间:2012-05-01 22:12:32

标签: php regex ereg-replace

我成功从字符串中提取整数。

如何做但包括字符串:“k”,“m”和“b”?

此代码采用给定的网站代码并提取数字,我需要数字和“k”,“m”和“b”

$objectId = 15259;
$lines = file('http://testwebsite.com?obj=' . $objectId);
foreach ($lines as $line_num => $line) {
    $lineCrawl = htmlspecialchars($line);
    $stringSum = "$stringSum$lineCrawl";
}

function get_string_between($string, $start, $end){
    $string = " ".$string;
    $ini = strpos($string,$start);
    if ($ini == 0) return "";
    $ini += strlen($start);
    $len = strpos($string,$end,$ini) - $ini;
    return substr($string,$ini,$len);
}

$parsed = get_string_between($stringSum, "Current guide price", "Today");

$guideprice = ereg_replace("[^0-9]", "", $parsed); 

echo $guideprice; 

2 个答案:

答案 0 :(得分:1)

0-9更改为0-9kmb应该有效

答案 1 :(得分:0)

更改代码以更好地使用正则表达式:

<? //PHP 5.4+
$matches = [];
\preg_match(
    <<<'REGEX'
`(?x)
    Current \s guide \s price
    \D* (?<price> \d+ [kmb] \s )
    Today
`u
REGEX
,   \file_get_contents('http://testwebsite.com?obj=' . 15259),
    $matches
);
echo $matches['price'];
?>