我正在为一个项目制作一个价格爬虫,但遇到了一些问题。我使用以下代码从html页面中提取值:
$content = file_get_contents($_POST['url']);
$resultsArray = array();
$sqlresult = array();
$priceElement = explode( '<div>value I want to extract</div>' , $content );
现在,当我使用它来获取某些元素时,我才会回来
Finance: {{value * value2}}
我想获得将在屏幕上显示的实际值,例如
Finance: 7.96
我尝试的其他php方法是:
卷曲
file_get_html(using simple_html_dom library)
这些都不起作用:(任何想法我能做什么?
答案 0 :(得分:0)
您只需将<div>value I want to extract</div>
设置为分隔符,这意味着只要发生这种情况,PHP就会查找它以将字符串与数组分开。
在下面的代码中,我们使用,
字符作为分隔符:
<?php
$string = "apple,banana,lemon";
$array = explode(',', $string);
echo $array[1];
?>
输出应为:
banana
在您的示例中,您将要提取的值设置为分隔符。这就是为什么会发生这种情况的原因。您需要在要获取的字符串和当前不需要的其他字符串之间设置分隔符。
例如:
<?php
$string = "iDontNeedThis-dontExtractNow-value I want to extract-dontNeedEither";
$priceElement = explode('-', $string);
echo "<div>".$priceElement[2]."</div>";
?>
代码应将此输出到您的HTML页面:
<div>value I want to extract</div>
它会在您的页面上显示如下:
value I want to extract
如果您不需要将整个数组保存在变量中,可以将其中的一个索引保存为变量:
$priceElement = explode('-', $string)[2];
echo $priceElement;
这样只保存value I want to extract
,因此您以后不必处理数组。