php - 如何在PHP中获取 "words"之前或 "words"之后的字符串

标签 php html css xpath

我需要帮助来获取值 #4bbedd来自 style="background-color:#4bbedd;vertical-align:middle;"使用 PHP如果有 xPath 就起作用为此,谢谢我需要 这是HTML代码

HTML代码

<!DOCTYPE html>
<html>
<head>
        <title></title>
</head>
<body>
    <div class="pickerContainer" data-reactid=".0.1.1.1.3.0.0.1.1.1.1">
        <div class="ColorPicker" data-reactid=".0.1.1.1.3.0.0.1.1.1.1.0">
            <a class="ui small interactive circular label" style="background-color:#4bbedd;vertical-align:middle;" data-reactid=".0.1.1.1.3.0.0.1.1.1.1.0.$Aquatic Blue">
                <span class="toolTip" data-reactid=".0.1.1.1.3.0.0.1.1.1.1.0.$Aquatic Blue.0">Aquatic Blue</span>
                <i class="checkmark icon" style="display:none;" data-reactid=".0.1.1.1.3.0.0.1.1.1.1.0.$Aquatic Blue.1"></i>
            </a>
            <a class="ui small interactive circular label" style="background-color:#CCCCCC;vertical-align:middle;" data-reactid=".0.1.1.1.3.0.0.1.1.1.1.0.$Ash">
                <span class="toolTip" data-reactid=".0.1.1.1.3.0.0.1.1.1.1.0.$Ash.0">Ash</span>
                <i class="checkmark icon" style="display:none;" data-reactid=".0.1.1.1.3.0.0.1.1.1.1.0.$Ash.1"></i>
            </a>
            <a class="ui small interactive circular label" style="background-color:#999999;vertical-align:middle;" data-reactid=".0.1.1.1.3.0.0.1.1.1.1.0.$Athletic Heather">
                <span class="toolTip" data-reactid=".0.1.1.1.3.0.0.1.1.1.1.0.$Athletic Heather.0">Athletic Heather</span>
                <i class="checkmark icon" style="display:none;" data-reactid=".0.1.1.1.3.0.0.1.1.1.1.0.$Athletic Heather.1"></i>
            </a>
            <a class="ui small interactive circular label" style="background-color:#F27EB2;vertical-align:middle;" data-reactid=".0.1.1.1.3.0.0.1.1.1.1.0.$Azalea">
                <span class="toolTip" data-reactid=".0.1.1.1.3.0.0.1.1.1.1.0.$Azalea.0">Azalea</span>
                <i class="checkmark icon" style="display:none;" data-reactid=".0.1.1.1.3.0.0.1.1.1.1.0.$Azalea.1"></i>
            </a>
            <a class="ui small interactive circular label" style="background-color:#000000;vertical-align:middle;" data-reactid=".0.1.1.1.3.0.0.1.1.1.1.0.$Black">
                <span class="toolTip" data-reactid=".0.1.1.1.3.0.0.1.1.1.1.0.$Black.0">Black</span>
                <i class="checkmark icon" style="display:none;" data-reactid=".0.1.1.1.3.0.0.1.1.1.1.0.$Black.1"></i>
            </a>
        </div>
    </div>
</body>
</html>

最佳答案

PHP code demo

<?php

$object = new DOMDocument();
$object->loadHTML('<!DOCTYPE html>
<html>
<head>
        <title></title>
</head>
<body>
    <div class="pickerContainer" data-reactid=".0.1.1.1.3.0.0.1.1.1.1">
        <div class="ColorPicker" data-reactid=".0.1.1.1.3.0.0.1.1.1.1.0">
            <a class="ui small interactive circular label" style="background-color:#4bbedd;vertical-align:middle;" data-reactid=".0.1.1.1.3.0.0.1.1.1.1.0.$Aquatic Blue">
                <span class="toolTip" data-reactid=".0.1.1.1.3.0.0.1.1.1.1.0.$Aquatic Blue.0">Aquatic Blue</span>
                <i class="checkmark icon" style="display:none;" data-reactid=".0.1.1.1.3.0.0.1.1.1.1.0.$Aquatic Blue.1"></i>
            </a>
            <a class="ui small interactive circular label" style="background-color:#CCCCCC;vertical-align:middle;" data-reactid=".0.1.1.1.3.0.0.1.1.1.1.0.$Ash">
                <span class="toolTip" data-reactid=".0.1.1.1.3.0.0.1.1.1.1.0.$Ash.0">Ash</span>
                <i class="checkmark icon" style="display:none;" data-reactid=".0.1.1.1.3.0.0.1.1.1.1.0.$Ash.1"></i>
            </a>
            <a class="ui small interactive circular label" style="background-color:#999999;vertical-align:middle;" data-reactid=".0.1.1.1.3.0.0.1.1.1.1.0.$Athletic Heather">
                <span class="toolTip" data-reactid=".0.1.1.1.3.0.0.1.1.1.1.0.$Athletic Heather.0">Athletic Heather</span>
                <i class="checkmark icon" style="display:none;" data-reactid=".0.1.1.1.3.0.0.1.1.1.1.0.$Athletic Heather.1"></i>
            </a>
            <a class="ui small interactive circular label" style="background-color:#F27EB2;vertical-align:middle;" data-reactid=".0.1.1.1.3.0.0.1.1.1.1.0.$Azalea">
                <span class="toolTip" data-reactid=".0.1.1.1.3.0.0.1.1.1.1.0.$Azalea.0">Azalea</span>
                <i class="checkmark icon" style="display:none;" data-reactid=".0.1.1.1.3.0.0.1.1.1.1.0.$Azalea.1"></i>
            </a>
            <a class="ui small interactive circular label" style="background-color:#000000;vertical-align:middle;" data-reactid=".0.1.1.1.3.0.0.1.1.1.1.0.$Black">
                <span class="toolTip" data-reactid=".0.1.1.1.3.0.0.1.1.1.1.0.$Black.0">Black</span>
                <i class="checkmark icon" style="display:none;" data-reactid=".0.1.1.1.3.0.0.1.1.1.1.0.$Black.1"></i>
            </a>
        </div>
    </div>
</body>
</html>');
$xPathObject= new DOMXPath($object);
$result=$xPathObject->query("/html/body/div/div/a[1]");
$desiredResult="";
foreach($result as $data)
{
    foreach($data->attributes as $attribute)
    {
        if($attribute->name=="style")
        {
            $desiredResult= explode(";",explode(":", $attribute->value)[1])[0];
        }
    }
}
echo $desiredResult;

关于php - 如何在PHP中获取 "words"之前或 "words"之后的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43164905/

相关文章:

php - 生成的 Doctrine 模型尊重大小写,但生成的 Yaml 不

php - 为什么查询不能在请求内使用 amp (&)/%26?

php - 使用 PHP 提取链接的 CSS 文件

javascript - DIV 宽度不合逻辑地卡住了,无法更改

javascript - IE Scrollbar + Overflow Scroll + div on top of the

php - 如何从数据库中输出多个结果(如果有的话)?

javascript - 如何使用ajax将STL文件从js发送到没有表单数据的php

c# - 使用 C# 抓取网页 (html)

javascript - 从上到下,从左到右更改图像加载

html - 水平对齐 div 标题的内容 bootstrap