首页 > 解决方案 > PHP 如何使用类获取价值

问题描述

我制作了一个带有描述的表格,在该描述中有一个名为“services-list”的列表,我需要使用“services-list”类获取值

这是关于我如何获得整个描述部分的代码

<p class="card"><?php echo substr(strip_tags($row->description), 0, 200); ?>...</p>

description 来自一个表单 for="description",并保存到数据库中。

在该代码中有一个具有“服务列表”类并列出所有服务的部分,我如何调用该特定部分进行打印?

我指的是这样的代码

<?php echo substr(strip_tags($row->description .'.services-list'), 0, 200); ?>

但不确定此代码。

标签: phpcodeigniter

解决方案


假设您有一个$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>

推荐阅读