DOMDocument->getElementById를 이용하여 가져온 node의 innerHTML 가져오는 함수
function getInnerHTML($node)
{
$result = null;
$child = $node->childNodes;
if ($child->length<1) return null;
for ($i=0; $i<$child->length; $i++) {
$item = $child->item($i);
if (($item->nodeName=='#text') AND (strlen(trim($item->nodeValue))==0)) continue;
$tmp_doc = new DOMDocument();
$tmp_doc->formatOutput = true;
$tmp_doc->appendChild($tmp_doc->importNode($item, true));
$result .= $tmp_doc->saveHTML();
unset($tmp_doc);
}
return $result;
}
// 예제
$doc = new DOMDocument('1.0', 'UTF-8');
$doc->loadHTMLFile('some.html');
$node = $doc->getElementById('some_id');
$innerHTML = getInnerHTML($node);
{
$result = null;
$child = $node->childNodes;
if ($child->length<1) return null;
for ($i=0; $i<$child->length; $i++) {
$item = $child->item($i);
if (($item->nodeName=='#text') AND (strlen(trim($item->nodeValue))==0)) continue;
$tmp_doc = new DOMDocument();
$tmp_doc->formatOutput = true;
$tmp_doc->appendChild($tmp_doc->importNode($item, true));
$result .= $tmp_doc->saveHTML();
unset($tmp_doc);
}
return $result;
}
// 예제
$doc = new DOMDocument('1.0', 'UTF-8');
$doc->loadHTMLFile('some.html');
$node = $doc->getElementById('some_id');
$innerHTML = getInnerHTML($node);
'PHP' 카테고리의 다른 글
[PHP] 정규식 - 한글도메인 (0) | 2009.12.01 |
---|---|
[PHP] class method를 callback에서 사용하기 (0) | 2009.11.20 |
[PHP] DOMDocument->loadHTML, getElementById (0) | 2009.11.18 |
[PHP] 여러 문자열 치환 (0) | 2009.11.18 |
[PHP] DOMDocument 이용 중 ChildNode 모조리 날리기 (0) | 2009.11.17 |