PHP에서 DOMDocument를 사용하여 HTML 문서에 항목을 추가/구문 분석하려고합니다. 읽었을 때 formOutput을 true로 설정하고 preserveWhiteSpace를 false로 설정하면 탭과 줄 바꿈을 순서대로 유지해야하지만 새로 생성되거나 추가 된 노드는 그렇지 않은 것처럼 보입니다.PHP의 DomDocument를 사용할 때 줄 바꿈 유지 appendChild
다음<table>
<tr>
<td></td>
</tr>
</table>
이야 내가 원하는 : 같은
여기$dom = new \DOMDocument;
$dom->formatOutput = true;
$dom->preserveWhiteSpace = false;
$dom->loadHTMLFile($htmlsource);
$tables = $dom->getElementsByTagName('table');
foreach($tables as $table)
{
$table->setAttribute('class', 'tborder');
$div = $dom->createElement('div');
$div->setAttribute('class', 'm2x');
$table->parentNode->insertBefore($div, $table);
$div->appendChild($table);
}
$dom->saveHTMLFile($html)
는 HTML 보이는 내용은 다음과 같습니다
여기<div class="m2x">
<table class="tborder">
<tr>
<td></td>
</tr>
</table>
</div>
내가 무엇을 얻을 : 여기
코드의<div class="m2x"><table class="tborder"><tr>
<td></td>
</tr></table></div>
내가 잘못하고있는 것이 있습니까? 나는 운이 좋았던 것의 많은 다른 방법으로 이것을 인터넷 검색하는 것을 시도했다.
위대한 기능! 그러나 불행히도 void 요소를 사용할 때 너무 많은 공간을 들여 쓰기합니다. – Stan