나는 내용이 XML 파일에 저장되는 PHP로 웹 사이트를 구축 중입니다. 기본적으로 하나의 index.php
페이지가 있습니다.이 페이지는 쿼리 문자열을 확인하고 XML에서 적절한 페이지를 제공합니다.PHP에서 expat가있는 문서의 일부만 구문 분석
예를 들어, www.mysite.com/?page=home
을 입력하면 PHP 스크립트가 XML 파일에서 <page id="home">
태그를 확인하고 해당 태그 안에있는 내용을 index.php
에 붙여 넣습니다. <page>
태그의
내용은 따라서 HTML로 저장됩니다 : 나는 적절한 <page>
태그를 잡고 어떻게 든 내용을 구문 분석 할 수 있기를 기대했다
<xmlroot>
<page id="home">
<h1>An HTML Header Tag!</h1>
<p>This is a paragraph</p>
</page>
[...etc]
</xmlroot>
. <page>
태그의 모든 내용이 유효한 HTML이라는 것을 알고 있으므로, expat을 사용하여 태그를 실행하고 echo
을 바로 실행하려고했습니다.
DOMDocument
메서드를 사용하여 내용이 DOM 요소로 반환된다는 것을 제외하고는 올바르게 작동하는 <page>
을 찾습니다. expat 구문 분석기에는 문자열이 필요합니다. 그래서 나는 두 가지 중 하나를 수행해야합니다
마술 그대로 모든 태그를 유지 그래서 나는 해외 거주자 파서에서 사용할 수있는 문자열로 DOM 요소를 변환합니다. 그러나이 작업을 수행 할 수있는 경우 expat 파서가 필요하지 않습니다. 변환 된 문자열을 곧바로 에코 할 수 있습니다.
expat 이외의 것을 사용하십시오.
는 덧붙여, 난 그냥 <
와 >
와 XML의 <
및 >
을 대체 할 수있는 알고 있지만이 꽤 읽기 어려운 편집 코드를 만든다. 나는 가능하다면 그것을 피하고 싶습니다.
젠장, 방금 CDATA에 대해 생각해 봤는데 ... 한번 시도해 볼게. 나는 그것을 할 수 있다면 이것을 업데이트 할 것이다. –
CDATA를 사용하여 잘 해결되었습니다. 나는 같은 문제가있는 다른 사람들을 돕기 위해 완전한 답을 게시 할 것입니다. stackoverflow가 나를 허용 할 때까지 기다려야 할 것입니다. 약 7 시간이 걸립니다. :-) –