dongxi1320 2011-12-21 17:54
浏览 21

php preg match - 如何获取html标签?

there were many threads about it, but I still need help. I need to use preg_match to get the text I need from HTML tags.

the HTML is:

<td>
<center>
<b>
<font face="Arial" color="red">(I need this content)</font>
</b>
</center>
</td>

(btw. I solved my problem with domdocument, but I need to use preg_match)

Please, help.

Regards.

  • 写回答

1条回答 默认 最新

  • douhan9748 2011-12-21 17:58
    关注

    This?

    <?php
    $html = '<td>
    <center>
    <b>
    <font face="Arial" color="red">(I need this content)</font>
    </b>
    </center>
    </td>';
    
    $matches = array();
    
    preg_match_all('/<font.*?>(.*?)<\/font>/is', $html, $matches);
    
    var_dump($matches[1]);
    

    Edit: you may want to include the 'face="Arial" color="red"'-bit in the regexp unless you want to match EVERY font-element's contents. You may also wanna include the <b> and <center> elements to narrow the search even further.

    On a side note: This HTML looks very dated. Using center and font elements is very, very bad practice. So is using tables for layout.

    评论

报告相同问题?