首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >DOMDocument查询

DOMDocument查询
EN

Stack Overflow用户
提问于 2013-09-06 10:46:36
回答 2查看 3K关注 0票数 0

嗨,我对这个DOMDocument世界非常陌生,我仍然在学习和寻找xpath在DOMDocument.The html中的使用有时会发生变化,所以preg_match不是一个好主意。.I需要从html中获取值,file.This是我想要得到的html的一部分。如果你能帮我我会很高兴的..。

代码语言:javascript
复制
 <?php  
    $doc = new DOMDocument();
    @$doc->loadHTML('<table cellspacing="0" cellpadding="0" align="center" class="results">
    <tr class="header" bgcolor="#0000FF">
    <td>
    </td>
    <td>Name/AKAs</td>
    <td>Age</td>
    <td>Location</td>
    <td>Possible Relatives</td>
    </tr>
    <tr>
    <td>1.</td>
        <td>
            <a class="LN" href=""><b>Iron, Man E</b></a>
        </td>
        <td align="center">54</td>
        <td>
            <a href="">Canada, AK</a><br />
            <a href="">California, AK</a><br />
        </td>
        <td>
        
        </td>
        <td>
            <a href="">View Details</a>
        </td>
    </tr>
              
    <tr><td>2.</td>
    <td>
    <a class="LN" href=""><b>Bat, Man E</b></a></td>
    <td align="center">26</td>
    <td>
    <a href="">Gotham, IA</a>
    <br /></td>
    <td>
    <a href=""> View Details</a></td></tr>
    </table>');
    $xpath = new DOMXPath($doc);
    $xquery = '//a[@class="LN"]';           
    $links = $xpath->query($xquery);   
    
    foreach ($links as $el) {
    echo strip_tags($doc->saveHTML($el)).'<br/>'; 
}

?>

如何获得以下值?我只能得到Iron, Man EBat, Man E

代码语言:javascript
复制
Iron, Man E | 54 | Canada, AK;California, AK
Bat, Man E | 26 | Gotham, IA
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-09-06 10:48:28

尝尝这个,

代码语言:javascript
复制
$xquery = '//a'; // you will get all anchor tags now
$links = $xpath->query($xquery);   

foreach ($links as $el) {
   echo strip_tags($doc->saveHTML($el)).'<br/>'; 
}

试着用这个进入single line

代码语言:javascript
复制
$xpath = new DOMXPath($doc);
$xquery = '//tr[td[a]]';           
$links = $xpath->query($xquery);   
foreach ($links as $el) {
    echo strip_tags($doc->saveHTML($el)).'<br/>'; 
}
票数 0
EN

Stack Overflow用户

发布于 2013-09-06 10:52:30

我的答案不是关于DomDocument查询,而是可以轻松地解决您的问题。

有一个名为SIMPLEHTMLDOM的图书馆!你可以用它做大事。

例子:

代码语言:javascript
复制
// Create DOM from URL or file
$html = file_get_html('http://www.google.com/');

// Find all images 
foreach($html->find('img') as $element) 
       echo $element->src . '<br>';

// Find all links 
foreach($html->find('a') as $element) 
       echo $element->href . '<br>';

完整的文档(这个Lib的功能)是这里。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18655944

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档