PHP正则表达式。 HTML解析

时间:2014-05-02 16:21:36

标签: php regex html-parsing

我正在寻找一种方法,使用php

找到具有特定ID的html div
<?php
    $regex = "<div+[a-zA-Z0-9._-\"]+id=\"";
    $string = '<html><body><div style="rubbish" id="man"></body></html>';
    preg_match($regex, $string, $matches, PREG_OFFSET_CAPTURE);
    $var_export = $matches;
    $var = $var_export[1][1];
    echo substr($string, $var, 3);
?>

我知道这对于妈妈来说是一堆垃圾,但我不能完全理解正则表达式。

1 个答案:

答案 0 :(得分:0)

你可能想试试这个:

$html = '<html><body><div style="rubbish" id="man">something </div><div id="otherid">blabla</div></body></html>';

preg_match_all('%(<div.*?id="man">.*?</div>)%im', $html, $result, PREG_PATTERN_ORDER);
for ($i = 0; $i < count($result[1]); $i++) {
    echo $result[1][$i];
}

DEMO

http://ideone.com/KQv3OA