PHP,preg_match,选择许多div标签的一部分

发布于 2024-11-04 07:57:43 字数 775 浏览 1 评论 0原文

所以我需要使用类“1”的整个div,但它停在div类“1.1”结尾,所以我想从中得到:

<head>
</head>
<body>
    <div class="1">
        <p>blah blah blah</p>
        <div class="1.1">
            trolololol
        </div>
        <div class="1.2">
            trolo2lolo
        </div>
    </div>
</body>

只有这个:

<div class="1">
    <p>blah blah blah</p>
    <div class="1.1">
        trolololol
    </div>
    <div class="1.2">
        trolo2lolo
    </div>
</div>

但现在我只得到:

<div class="1">
    <p>blah blah blah</p>
    <div class="1.1">
        trolololol
    </div>

so i need to take the whole div with class "1" but it stops at the div class "1.1" ending so i want to get from this:

<head>
</head>
<body>
    <div class="1">
        <p>blah blah blah</p>
        <div class="1.1">
            trolololol
        </div>
        <div class="1.2">
            trolo2lolo
        </div>
    </div>
</body>

only this:

<div class="1">
    <p>blah blah blah</p>
    <div class="1.1">
        trolololol
    </div>
    <div class="1.2">
        trolo2lolo
    </div>
</div>

but for now i get only:

<div class="1">
    <p>blah blah blah</p>
    <div class="1.1">
        trolololol
    </div>

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

小…红帽 2024-11-11 07:57:44

正则表达式并不能智能地计算您已打开的标签数量以及在停止比赛之前需要关闭的标签数量。它在第一次出现 时停止。如果您想将标签作为真正的标签而不是字符串来访问,请尝试使用真正的 html 解析器。

Regexp are not that intelligent to count how many tags you have opened and need to be closed before stopping the match. It stops at the first occurence of </div>. Try to use a real html parser if you want to access tags as real tags and not strings.

初见你 2024-11-11 07:57:44

正则表达式不应用于解析 XML、HTML、“BBCode”、JSON 等文档...
你应该寻找一个真正的 DOM 解析器,例如 PHP 的 DOM 扩展

Regular expressions should not be used to parse documents like XML, HTML, "BBCode", JSON...
You should look for a real DOM parser, for example PHP's DOM extension

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文