0

我将 html 文本存储在数据库的一列中。列名是 mailbody,表名是 inbox_master。

列的某些单元格mailbody具有如下所示的 div

<div id="uid-g-uid" style="">2802</div>

或者

<div id="uid-g-uid">
<p class="MsoNormal">6894</p>
</div>

或者

<div id="uid-g-uid" style="display:none;">
6894</div>

这里常见的是一个 id 为“uid-g-uid”的 div。我希望能够阅读这个 div 的 html。我知道这可以使用正则表达式来完成,但是不知道该怎么做。

以下是我尝试过但一直不起作用的正则表达式

/(?<=\<div\ id\=\"uid\-g\-uid\").*?(?=\<\/div\>)/gim
4

2 回答 2

4

感谢@sikfire 和@dave,我得到了使用 DOM 的解决方案。以下是我的工作,对我有帮助

$doc = new DOMDocument();
@$doc->loadHTML('The HTML Content Goes here');
$d = $doc->getElementById('uid-g-uid');
echo 'Value is ' . $d['textContent'];

没想到会这么简单!多谢你们!

于 2013-04-07T11:08:32.653 回答
1

你也可以在这里查看项目。PHP DomParser

这可能会有所帮助!

于 2014-04-24T10:17:13.537 回答