我制作了一个带有描述的表单,在该描述中有一个名为“ services-list”的列表,我需要使用“ services-list”类获取该值
这是有关如何获得整个说明部分的代码
<p class="card"><?php echo substr(strip_tags($row->description), 0, 200); ?>...</p>
描述来自表单“ description”的描述,并保存到数据库中。
在该代码中,有一个节具有“服务列表”类,并列出了所有服务,我如何调用该特定节进行打印?
我指的是这样的代码
<?php echo substr(strip_tags($row->description .'.services-list'), 0, 200); ?>
但不确定此代码。
答案 0 :(得分:1)
假设您有一个$row->description
对象包含以下文本:
$row = (object) [ 'description' => '
<div>
<li class="other-class">Service A</li>
<li class="services-list">Service B</li>
<li class="services-list">Service C</li>
<li class="services-list">Service D</li>
</div>
'];
您可以使用DOMDocument
通过以下方式获取所有services-list
类元素:
$doc = new DOMDocument();
$doc->loadHTML($row->description);
$xpath = new DomXPath($doc);
$nodeList = $xpath->query("//li[@class='services-list']");
$node = $nodeList->item(1);
$service_list = [];
foreach ($nodeList as $i => $val){
if (!empty($val->nodeValue)) {
array_push($service_list, $val->nodeValue);
}
}
$service_list = implode($service_list, ', '); // separate each item by comma
// To check the result:
echo "<p>" . $service_list . "</p>";
输出将是:
<p>Service B, Service C, Service D</p>