Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/251.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
php-使用DOMPath从多个嵌套表和div中提取链接信息时出现问题_Php_Dom_Xpath_Html Parsing - Fatal编程技术网

php-使用DOMPath从多个嵌套表和div中提取链接信息时出现问题

php-使用DOMPath从多个嵌套表和div中提取链接信息时出现问题,php,dom,xpath,html-parsing,Php,Dom,Xpath,Html Parsing,我试图从多个嵌套表结构中提取特定的链接属性。文档格式很旧,这可以解释为什么在设计页面时大量使用table元素 下面是我试图使用DOMXPath解析的相关文档: 每个宽度为100%的表都有相同级别的嵌套子项,即tbody、tr、td、a、div等 <table width="1000px"> <tbody> <tr></tr> <tr> <td>

我试图从多个嵌套表结构中提取特定的链接属性。文档格式很旧,这可以解释为什么在设计页面时大量使用table元素

下面是我试图使用DOMXPath解析的相关文档: 每个宽度为100%的表都有相同级别的嵌套子项,即tbody、tr、td、a、div等

<table width="1000px">
    <tbody>
        <tr></tr>
        <tr>
            <td>
                <br>
                <span></span>
                <span></span>
                <div></div>
                <div>
                    <div></div>
                    <div>
                        <center></center>
                        <hr>
                        <table width="100%"></table>
                        <table width="100%">
                            <tbody>
                                <tr>
                                    <td>
                                        <a name="A"></a>
                                        <div style="width: 230px;">
                                            <a href="owlbook/manufacturer.aspx?manufacturerId=124">Owl Chant Book</a>
                                            <br>
                                        </div>
                                    </td>
                                </tr>
                            </tbody>
                        </table>
                        <table width="100%"></table>
                        <table width="100%"></table>
                        <table width="100%"></table>
                        <table width="100%"></table>
                        <table width="100%"></table>
                        <table width="100%"></table>
                        <table width="100%"></table>
                        <table width="100%"></table>
                        <table width="100%"></table>
                        <table width="100%"></table>
                        <table width="100%"></table>
                        <table width="100%"></table>
                        <table width="100%"></table>
                        <table width="100%"></table>
                        <table width="100%"></table>
                    </div>
                </div>
            </td>
        </tr>
    </tbody>
</table>
这根本不起作用。我尝试更改查询参数以匹配文档结构,但没有任何效果。var_转储返回

object(DOMNodeList)#44 (1) { ["length"]=> int(0) }
如何从宽度为100%的内部表中的每个div中提取锚属性。在本例中,哪个将返回href=“owlbook/manufacturer.aspx?manufacturerId=124”和textValue=Owl Chant Book

请提供任何形式的帮助,因为我认为我在寻找可行的解决方案方面没有任何进展

谢谢,
Maxx

乍一看,您的代码似乎很好。你是从哪里得到这些信息的?它严重破坏了标记,您是否删除了它的内容并破坏了它?还有:这是Firebug的HTML还是直接从Web服务器获得的HTML?Firebug改变了HTML。是的,我删除了底端的表格标签、正文标签、表单标签等,这样很容易在stackoverflow上发布。我应该在我的问题中提到使用便条,但我不知道怎么做。你知道,我是从萤火虫那里复制的。但是代码的输入是完整的页面,它的标记是完整的。只是为了在这里发布它,我把结尾标记写在了帖子的底部。如果你是从Firebug复制过来的,看看这个——我认为你剩下的标记是好的。但是我无法测试它,因为标记太坏了。请确保发布有效的标记,否则HTML/XML解析器将拒绝它。好的,我已经编辑了标记。请看一看。每个宽度为100%的表都有相同级别的子元素。我刚刚扩展了其中的第二部分,以保持文章的干净性和可读性
object(DOMNodeList)#44 (1) { ["length"]=> int(0) }