HTMLの例...
<html>
<head></head>
<body>
<table>
<tr>
<td class="rsheader"><b>Header Content</b></td>
</tr>
<tr>
<td class="rstext">Some text (Most likely will contain lots of HTML</td>
</tr>
</table>
</body>
</html>
HTMLのページをそのHTMLページのテンプレートバージョンに変換する必要があります。HTMLページはいくつかのボックスで構成されており、それぞれにヘッダー(上記のコードでは「rsheader」と呼ばれます)といくつかのテキスト(上記のコードでは「rstext」と呼ばれます)があります。
おそらくfile_get_contentsを使用してHTMLページを取得し、rsheaderおよびrstextdiv内にあるコンテンツを抽出するPHPスクリプトを作成しようとしています。基本的にどうしたらいいのかわからない!DOMを試してみましたが、よくわかりません。テキストを抽出することはできましたが、HTMLは無視されました。
私のPHP...
<?php
$html = '<html>
<head></head>
<body>
<table>
<tr>
<td class="rsheader"><b>Header Content</b></td>
</tr>
<tr>
<td class="rstext">Some text (Most likely will contain lots of HTML</td>
</tr>
</table>
</body>
</html>';
$dom = new DomDocument();
$dom->loadHtml($html);
$xpath = new DomXpath($dom);
$div = $xpath->query('//*[@class="rsheader"]')->item(0);
echo $div->textContent;
?>
print_r($ div)を実行すると、これが表示されます...
DOMElement Object
(
[tagName] => td
[schemaTypeInfo] =>
[nodeName] => td
[nodeValue] => Header Content
[nodeType] => 1
[parentNode] => (object value omitted)
[childNodes] => (object value omitted)
[firstChild] => (object value omitted)
[lastChild] => (object value omitted)
[previousSibling] =>
[nextSibling] => (object value omitted)
[attributes] => (object value omitted)
[ownerDocument] => (object value omitted)
[namespaceURI] =>
[prefix] =>
[localName] => td
[baseURI] =>
[textContent] => Header Content
)
ご覧のとおり、textContentノード内にHTMLタグがないため、間違った方法で処理していると思われます:(
誰かが私にこれについていくらかの助けを与えることができるかもしれないことを本当に望んでいます...
前もって感謝します
ポール