以下是我从网页中提取的相同代码...
<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>
关于良好解决方案的任何想法?
答案 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;