0

データベースの列の 1 つに 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 ドムパーサー

これは役立つかもしれません!

于 2014-04-24T10:17:13.537 に答える