正则表达式在php中获取div类的内容

可能重复:
PHP DOMDocument,找到特定的标签
如何使用PHP解析和处理HTML?

有没有什么特殊的语法来获取嵌套div元素与唯一的类名在RegExp在PHP中。 考虑我有一个类似的语法

<div style="demo">
<div class="row">
    <div title="abc@examples.com" class="text">ABC</div>
</div>
<div class="row">
    <div title="pqr@examples.com" class="text">PQR</div>
</div></div>

这里我们如何使用RegExp和preg_match_all()来检索所有emailids。


preg_match_all("/<div title="(.*)" class="text">/", $subject, $matches);

如果电子邮件是您想要的唯一数据,那么只有匹配电子邮件才有更好的正则表达式。 见http://fightingforalostcause.net/misc/2006/compare-email-regex.php


正则表达式在解析HTML时不好。 使用DOM解析器和这个XPath:

//div[@style="demo"]/div[@class="row"]/div[@class="text"]/@title

如果class="text"对您想要匹配的div独占,那么您也可以这样做

//div[@class="text"]/@title

另请参阅:

  • https://stackoverflow.com/search?q=html+dom+php

  • <?php
    
    $html = '<div style="demo">
    <div class="row">
        <div title="abc@examples.com" class="text">ABC</div>
    </div>
    <div class="row">
        <div title="pqr@examples.com" class="text">PQR</div>
    </div></div>
    ';
    
    $doc = DOMDocument::loadHTML($html);
    $xpath = new DOMXPath($doc);
    
    foreach($xpath->query('//div[@style="demo"]/div[@class="row"]/div[@class="text"]/@title') as $div){
        echo $div->value . PHP_EOL;
    }
    

    这假设类的属性完全是那些(逐字),但我希望你明白这一点。

    链接地址: http://www.djcxy.com/p/29907.html

    上一篇: Regular Expression to get contents of div class in php

    下一篇: Extracting XML data to php