2010-05-10 3 views
0

this wikipedia page의 첫 번째 단락을 가져 오려고한다고 가정 해 봅시다. XPath 또는 DOM & PHP 또는 비슷한 것을 사용하여 제목과 내용 상자간에 주 텍스트를 얻으려면 어떻게해야합니까?위키 백과 페이지의 첫 번째 단락을 다듬는 방법은 무엇입니까?

거기에 대한 PHP 라이브러리가 있습니까? 조금 복잡하기 때문에 API를 사용하고 싶지 않습니다.

참고 : 위키피디아의 관련 정보를 표시하는 페이지 아래에 위젯을 추가하기 만하면됩니다.

+0

위키 미디어 API를 살펴볼 수 있습니다. –

답변

0

사용하여 다음과 같은 XPath 식 : 여기에 접두사 h:

/*/h:body//h:h1 
    | 
    /*/h:body//h:h1/following::node() 
     [count(. | //h:table[@id='toc'] 
        /preceding::node() 
      ) 
     = 
     count(//h:table[@id='toc'] 
        /preceding::node() 
      ) 
     ] 

는 XHTML 네임 스페이스()에 바인딩됩니다.

이 변환은 원하는 결과가 정말 생산되는 것을 보여줍니다 위키 피 디아 기사의 XHTML 문서에 실행하면

<xsl:stylesheet version="1.0" 
xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
xmlns:h="http://www.w3.org/1999/xhtml" 
> 
<xsl:output omit-xml-declaration="yes" indent="yes"/> 

<xsl:template match="/"> 
    <xsl:copy-of select= 
    "/*/h:body//h:h1 
    | 
    /*/h:body//h:h1/following::node() 
     [count(. | //h:table[@id='toc'] 
        /preceding::node() 
      ) 
     = 
     count(//h:table[@id='toc'] 
        /preceding::node() 
      ) 
     ] 
    "/> 
</xsl:template> 
</xsl:stylesheet> 

가 (당신이이 문서에 대한 두 개의 엔티티 &nbsp;&reg;를 정의해야), 원하는 결과가 생성됩니다.

관련 문제