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

时间:2015-06-20 12:29:31

标签: php dom curl domdocument

以下是我从网页中提取的相同代码...

        <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>

关于良好解决方案的任何想法?

1 个答案:

答案 0 :(得分:2)

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

PHP有一个名为DOMDocument的非常好的类。您只需将页面作为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;