问题
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:
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.
来源:https://stackoverflow.com/questions/8594165/php-preg-match-how-to-get-html-tag