正则表达式在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
另请参阅:
<?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