function getInnerHTML($string, $tagname, $closetagname) {
$pattern = "/(.*)/";
preg_match($pattern, $string, $matches);
return $matches[1];
}
运用
getInnerHTML($str, 'span class="market_listing_price market_listing_price_with_fee"', 'span');
我对file_get_contents的一个例子是:
$1.92
$1.68
但它什么也没有回报.
有人有想法吗?
解决方法:
不完全确定为什么你想要通过HTML进行艰难的方式和正则表达式,当有一个完美的工作调用返回JSON时.尽管原始答案是正确的并且直接回答了OP问题,但这提供了一种更容易和有效的方式来获得项目的市场价值.
得到:
JSON响应:
{
"success": true,
"lowest_price": "1,43€ ",
"volume": "562",
"median_price": "1,60€ "
}
响应定义:
success:布尔值,如果调用成功则为true;如果出现问题或者Steam市场中没有此项目列表,则为false.
lowest_price:带有货币符号[pre- / ap]的字符串值,具体取决于指定的查询参数.请参阅下面的一些其他参数.
volume:以字符串形式返回的整数值(?) – 已售出/已购买的此特定项目的总数.
median_price:带货币符号[pre- / ap]的字符串值.商品的平均售价.有关如何计算中位数的更好理解,请参阅Steam marketplace项目图表.
查询参数:
appid:游戏/应用程序的唯一(静态定义)Steam应用程序ID,在我们的案例中为反恐精英:全球攻势.请参阅Valve的开发Wiki以获取其他appid的列表,尽管此列表很可能总是过时,因为新应用程序经常被添加到他们的平台.
market_hash_name:正在查询的项目的名称包含外部,查询这些名称可以在查询用户库存时找到,但这是一个完整的其他API调用.
currency:整数值;货币价值和格式以返回市场价值.你需要调整和使用这些数字,因为我不能在这里提供太多细节.一般来说,我坚持使用美元作为全球价格,并使用我自己的货币API转换为其他货币.
标签:steam,php,regex
来源: https://codeday.me/bug/20190923/1815422.html