2013-04-17 2 views
0

현재 페이지 HTML 데이터에 액세스하고 특정 태그를 모두 가져 와서 사이드 바에 링크로 던져 넣는 올바른 절차는 무엇입니까?페이지 데이터를 사이드 바에 구문 분석 -

+0

이것에 대한 생각 프로세스는별로 의미가 없습니다. 페이지에 html 구조가 이미 있다면 슬라이더 플러그인이 이미 클래스와 함께 사용하고있는 것 (bxslider라고도 함)으로 모양을 만들 수 없습니까? 또는 사용자 정의 게시 유형을 사용할 수 있으며 게시물을 반복하여 슬라이더를 만들고 짧은 코드로 포함 할 수 있습니다. 당신이 그것을 사용하는 방법에 대한 정보를 조금 더 주시겠습니까? – Ben

+0

내 의도는 페이지의 콘텐츠를 가져 와서 페이지의 모든 h2 태그를 선택하는 것입니다. 그런 다음, 사이드 바에서 수집 된 h2 태그를 사용하여 페이지의 제목을 강조 표시하는 정렬을 작성하여 전체 페이지를 스크롤하지 않고 이미 무엇이 모두 있는지 알 수 있습니다. – aprohl5

답변

0

나는 PHP에 대한 숙련도가 확실하지 않지만, 아마도 당신에게 무엇을하고 싶은지에 대한 개요를 줄 것입니다.

먼저 HTML이 필요합니다. 나는 당신이 페이지 (page.php 파일이나 single.php 파일 또는 이와 유사한 것)에서 이것을 실행하고 있다고 가정하고 있는데, 이것은 당신이 글로벌 변수 $ post에 접근 할 수 있다는 것을 의미한다. 그것. 이 함수에 액세스하려면 도우 함수 get_the_content()을 사용할 수 있습니다. 그러면 표시되는 html이 반환됩니다.
다음으로 이것을 분석하여 h2 태그를 가져와야합니다. 간단한 정규 표현식 (<h2[^>]*>(.*)</h2>)을 처리 할 수 ​​있습니다. 이 정규식은 매우 까다 롭다는 것을 기억하는 것이 중요합니다. 따라서 html을 여러 줄로 배열하지 말고 올바르게 서식을 지정하십시오. 이제 html이 있고 h2를 얻는 정규식으로 파싱했습니다. 이제 결과에서 목록을 생성하고 페이지 내용의 맨 앞에 추가해야합니다. 이 작업을 수행하는 데는 여러 가지 방법이 있습니다. 가장 쉬운 방법은 템플릿 파일의 올바른 위치에서 코드를 실행하는 것입니다.

물론이 작업을 수행하는 데 더 좋은 방법이있을 수 있습니다. FAQ 플러그인을 보거나 (이 기능이 필요한 경우) 수동으로 목록을 작성하는 것이 좋습니다 (이 시스템이 손상 될 수 있음). 사용자 정의 게시 유형을 사용할 수도 있습니다. 하지만 귀하의 질문에, 그게 내가 어떻게 할거야.

관련 문제