使用Simple HTML Dom解析网页表格提取指定USD汇率td内容
PHP使用Simple HTML Dom提取USD汇率解决方案
- 问题原因
原代码仅提取了表格中包含所有币种汇率的整段单元格内容,没有做单独币种筛选。目标页面中每个币种汇率都被独立<span>标签包裹,USD对应的span带有usd类属性,可直接定位该节点提取目标内容。 - 推荐实现代码
<?php include('../simple_html_dom.php'); $html = file_get_html('https://rub.currencyrate.today/'); // 定位第一个class为usd的span节点 $usdNode = $html->find('span.usd', 0); if ($usdNode) { echo strip_tags($usdNode->innertext); } else { echo "汇率数据获取失败"; } ?>
运行上述代码即可直接输出目标结果:$ 0.0137。
- 兼容备选方案
如果后续页面结构调整移除了span的class属性,可通过正则匹配提取:
<?php include('../simple_html_dom.php'); $html = file_get_html('https://rub.currencyrate.today/'); $allRateText = strip_tags($html->find('table td', 0)->innertext); // 匹配$符号开头的USD汇率 preg_match('/\$\s*\d+\.?\d*/', $allRateText, $match); echo $match[0] ?? "数据匹配失败"; ?>
内容的提问来源于stack exchange,提问作者Sergiu
相关产品推荐
相关产品推荐

