使用php从网站中提取特定数据

时间:2017-06-29 16:44:03

标签: php extract

我想从某个网站获取数据。 Html的一部分如下:

  

<span class="last">10,750.00</span>

我想在没有逗号和点的情况下退出 10750

编号10,750.00只是一个例子。这个数字正在改变

2 个答案:

答案 0 :(得分:1)

从这开始:

<span class="last">anything here</span>

你可以这样做:

$page = file_get_contents('http://www.example.com/');
$toSearch1 = '<span class="last">';
$toSearch2 = '</span>';
  

获取内容并准备搜索变量

$page = strstr($page, $toSearch1);
$page = strstr($page, $toSearch2, true);
  

这只会提取任何&#39;并删除其他不必要的HTML

然后:

$page = strip_tags($page);
  

这将删除HTML标记,或者,如果您想手动尝试

$page = str_replace($toSearch1, "", $page);
$page = str_replace($toSearch1, "", $page);

最后

$page = str_replace(['.', ','], '' , $page);
  

删除点和逗号

$page = substr($page, 0, -2);
  

删除小数

$page = (int)$page;
  

如果使用数字进行计算,即使PHP将自动处理,也可以转换为int

这里小提琴==&gt; https://www.tehplayground.com/oqywfzmo2IWJdN0C

答案 1 :(得分:0)

如果您在变量中包含HTML部分,则可以执行以下操作:

$html = '<span class="last">10,750.00</span>';
$without_tag = strip_tags($html); // Remove Tags HTML
$number_float = (float) str_replace(',', '', $without_tag); // Remove commas and change to float
echo $number_float; // 10750

如果您没有HTML,可以使用:

$html = file_get_contents("http://example.com/");
$part = stristr(stristr($html, '<span class="last">'), '</span>', true);
$without_tag = strip_tags($part); // Remove Tags HTML
$number_float = (float) str_replace(',', '', $without_tag); // Remove commas and change to float
echo $number_float; // 10750