저는 워드 프레스 테마 바닥 글을 해킹하고 있습니다. 조금 문제가 있습니다.PHP DOMDocument - 예기치 않은 종료 태그를 무시합니다.
내가하고있는 일은 부모 테마의 바닥 글을 취하고 출력을 캡처하고 DOMDocument를 사용하여 요소를 수정하는 것입니다.
<?php
// I apologize in advance for my messy code....
/**
* JavaScript-like HTML DOM Element
*
* This class extends PHP's DOMElement to allow
* users to get and set the innerHTML property of lalalalala....
*
* @author Keyvan Minoukadeh - http://www.keyvan.net - [email protected]
* @see http://fivefilters.org (the project this was written for)
*/
// blahblahblah
ob_start();
require get_theme_root() . '/responsive/footer.php';
$output = ob_get_clean();
libxml_use_internal_errors(true);
$dom = new DOMDocument();
$dom->registerNodeClass('DOMElement', 'JSLikeHTMLElement');
$dom->loadHTML($output);
$finder = new DomXPath($dom);
$classname="powered";
$nodes = $finder->query("//*[contains(concat(' ', normalize-space(@class), ' '), ' $classname ')]");
$elem = $nodes->item(0);
$elem->innerHTML = "hahaha..gotcha!";
echo $dom->saveHTML();
?>
그러나, 바닥 글 출력이 </div>
의 (예상치 못한 닫는 태그)를 포함하고 그 DOMDocument를 불평하고있다 : 여기 내 코드입니다. 실제로, 그것은 단지 그 </div>
을 제거하고 페이지를 이상하게 보입니다. </div>
주위에 때우는 때문에 그냥 출력의 처음에 </div></div>
을 추가 할 수 없습니다.
DOMDocument가 예기치 않은 태그를 무시하고 거기에 두거나 다른 라이브러리를 사용해야하는 방법이 있습니까?
없이 워드 프레스 전문가하지만이 테마 수정 대한 잘못된 접근 방식처럼 보인다. –
@ 대군 절대적으로. [* Child Themes *] (http://codex.wordpress.org/Child_Themes)를 참조하십시오. – Phil
@Phil 이것은 어린이 테마입니다. 꼬리말에 물건을 보관하고 싶지만 업그레이드 할 때 문제가되지는 않습니다. 내 사이트가 현재 무차별 공격을 당하고 있기 때문에 WordPress by Footer의 흔적은 원하지 않습니다. 또한, 나는 개인 정보 보호 정책에 대한 링크와 같이 다른 말을 해달라고 WordPress에 의뢰하고 싶습니다. –