本文介绍了PHP中的正则表达式问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

<div class="begin">...</div>

如何在PHP中匹配html内部(包括)<div class="begin">?

How to match the html inside(including) <div class="begin"> in PHP?

我需要一个 regex 解决方案可以处理嵌套大小写的情况.

推荐答案

使用DOM和DOMXPath代替正则表达式,对此我将表示感谢:

Use DOM and DOMXPath instead of regex, you'll thank me for it:

// something useful:
function dumpDomNode ($node) {
    $temp = new DOMDocument();
    $temp->appendChild($node,true);
    return $temp->saveHTML();
}

$dom = new DOMDocument();
$dom->loadHTML($html_string);

$xpath-> new DOMXpath($dom);

$elements = $xpath->query("*/div/[@class='begin']");

foreach ($elements as $el) {
    echo dumpDomNode($el); // <-- or do something more useful with it
}

使用正则表达式尝试此操作将带您走入精神错乱的道路...

Trying this with regex will lead you down the path to insanity...

这篇关于PHP中的正则表达式问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-14 22:04