如何使用PHPDOM从网页中提取关键字

如何使用PHPDOM从网页中提取关键字,php,dom,curl,domdocument,Php,Dom,Curl,Domdocument,这是我从网页中提取的相同代码 <div class="user-details-narrow"> <div class="profileheadtitle"> <span class=" headline txtBlue size15"> Profession </span> <

这是我从网页中提取的相同代码

        <div class="user-details-narrow">
            <div class="profileheadtitle">
                <span class=" headline txtBlue size15">
                    Profession
                </span>
            </div>
            <div class="profileheadcontent-narrow">
                <span class="txtGrey size15">
                    administration
                </span>
            </div>
        </div>

职业
管理
当显示在网页上时,它显示为“职业管理”。我想做的是提取这个职业,在这个例子中是“管理”。然而,它并不像看上去那么简单,因为这段代码对于各种其他问题重复了很多次,例如

        <div class="user-details-narrow">
            <div class="profileheadtitle">
                <span class=" headline txtBlue size15">
                    Industry
                </span>
            </div>
            <div class="profileheadcontent-narrow">
                <span class="txtGrey size15">
                    banking
                </span>
            </div>
        </div>

工业
银行业务

有什么好的解决方案吗?

请不要使用正则表达式从页面获取节点值

PHP有一个非常好的类,名为。您只需获取一个页面作为DOMDocument:

$dom = new DOMDocument;
$dom->loadURL("http://test.de/page.html");
$finder = new DomXPath($doc);
$spaner = $finder->query("//*[contains(@class, 'size15')]");
echo $spaner->item(0)->nodeValue . "/" . $spaner->item(1)->nodeValue;

关于
管理
,我看不到与
银行业务
有什么不同。这两个领域都没有什么独特之处,这是我的问题。是的,我可以看出这是一个问题。在这种情况下,我想不出一种编程方式来识别正确的方法。使用PHP的DOM,我仍然不知道如何正确解析HTML。正如Chris在上面所说,职业和行业之间的代码没有区别,还有很多其他的代码。如何将它们全部分开?