0

文字列から整数を正常に抽出しています。

文字列「k」、「m」、「b」を含む方法は?

このコードは、指定された Web サイト コードを取得して数字を抽出します。数字と「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; 
4

2 に答える 2

1

に変更0-9して動作する0-9kmbはずです

于 2012-05-01T22:26:48.263 に答える
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'];
?>
于 2012-05-02T04:41:02.557 に答える