2012-05-16 5 views
0
내 header.php 파일에이 코드를 실행하려면

PHP를 사용하여 PHP 요소에서 DOM 요소에 액세스하려면 어떻게해야합니까?

<?php 
$doc = new DOMDocument(); 
$doc->load('wp-content/themes/foo/header.php'); 
$header_li_elements = $doc->getElementsByTagName('li'); 
foreach($header_li_elements as $value){ 
echo $value->nodeValue; 
} 
?> 

이 가능할까요?

나는 현재 어떤 페이지인지 확인한 다음 특정 nav 요소의 id 특성을 변경하여 특정 페이지의 nav 요소 모양을 동적으로 변경할 수있는 PHP 함수를 실행할 수 있기를 원합니다. 나는있다.

현재 저는 페이지의 'li'요소에 대한 액세스를 얻으려고하고 있습니다. 그런 다음 에코를 사용하면 거기에서 작업 할 수 있습니다. 이견있는 사람?

혼란스러운 경우 죄송합니다. 내가 생각하는 것을 설명하기가 어렵다.

답변

4

페이지가 동적이기 때문에 (예 : HTML은 PHP에서 생성됩니다) 구문 분석하려는 HTML이 아직 존재하지 않기 때문에 작동하지 않습니다. 런타임 전까지는 생성되지 않습니다. 현재 URL이 무엇인지 확인하고이를 사용하여 탐색 표시 줄 모양을 결정하는 등의 다른 방법을 찾아야합니다.

+0

감사합니다.이 프로세스를 진행하는 구체적인 방법에 대한 의견이 있으십니까? – T110

0

이렇게하려면 PHP가 HTML 인 것처럼 구문 분석해야합니다. 불가능하지는 않지만 일선 jQuery에 훨씬 더 적합한 작업입니다.

어떤 이유에서 건 서버 측을 고집하는 경우 목록 항목이 거대한 문자열로 반환 될 때까지 기다리는 것이 아니라 생성되는 동안 목록 항목을 잡는 것이 훨씬 낫습니다. 모든 태그를 다시 태그로 만들 수 있습니다. 따라서 태그를 조작하여 하나의 거대한 문자열로 다시 되돌릴 수 있습니다.

Wordpress와 유사 해 보이지만 Wordpress는이 작업을 수행하는 데 도움이되는 API를 가지고 있지만 WordPress에서는 header.php에서 정확히 무슨 일이 일어나는지 확인할 필요가 있습니다.

관련 문제