假设我想抓住this wikipedia page中的第一段。如何使用XPath或DOM&获取标题和内容框之间的主要文本? PHP或类似的东西?
有没有PHP库?我不想使用api,因为它有点复杂。
注意:我只需要在我的页面下添加一个小部件,显示来自维基百科的相关信息。
答案 0 :(得分:0)
使用以下XPath表达式:
/*/h:body//h:h1
|
/*/h:body//h:h1/following::node()
[count(. | //h:table[@id='toc']
/preceding::node()
)
=
count(//h:table[@id='toc']
/preceding::node()
)
]
此处前缀h:
绑定到XHTML名称空间("http://www.w3.org/1999/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>
在维基百科文章的XHTML文档上运行(您还需要为此文档定义两个实体
和®
),生成所需结果。