[英]Convert html tags to php array
我有一个正在尝试转换的合作伙伴提供的系统状态页面,以便可以将其输入自动输入到我自己的服务页面中。 服务的状态由<span>
类提供。 我知道这远非理想,但这是他们提供更新的唯一方法。
以下是HTML的副本:
<ul class="item-3">
<li class="status service1">
<span class="icon"></span>
<h6>
SERVICE 1
</h6>
<p>
Updated:
9:52 AM CST Apr, 24
</p>
<span class="arrow up"></span>
</li>
<li class="status service2">
<span class="icon"></span>
<h6>
SERVICE 2
</h6>
<p>
Updated:
9:52 AM CST Apr, 24
</p>
<span class="arrow up"></span>
</li>
<li class="status service3">
<span class="icon"></span>
<h6>
SERVICE 3
</h6>
<p>
Updated:
9:52 AM CST Apr, 24
</p>
<span class="arrow up"></span>
</li>
</ul>
我需要获取<span class="arrow up">
值,因为这是服务状态,而<li class="status service3">
是告诉我它是什么服务。
由于我的状态页API使用ID而不是“上/下”等,因此我需要将状态和服务存储在数组中,以便将其转换为格式。
$xml = new SimpleXMLElement($html);
$result = $xml->xpath('//ul/li');
$up = array(); //array of servises that is 'up'
$down = array(); //array of servises that is 'down'
foreach ($result as $item)
{
if (strpos($item->span[1]->attributes()->class, 'up') !== false)
{
$up[] = str_replace("status ", "", $item->attributes()->class);
}
if (strpos($item->span[1]->attributes()->class, 'down') !== false)
{
$down[] = str_replace("status ", "", $item->attributes()->class);
}
}
var_dump($up);
var_dump($down);
将输出“ Up”系统状态
array(3) {
[0]=>
string(8) "service1"
[1]=>
string(8) "service2"
[2]=>
string(8) "service3"
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.