【问题标题】:get span content text using simple DOM parser php使用简单的 DOM 解析器 php 获取跨度内容文本
【发布时间】:2015-07-14 03:37:04
【问题描述】:

我有以下 div,

<div class="info">
            Review Status: <span style="color:green;"><strong>Active</strong></span>
                        | Order #:
            <strong>
                22436            </strong>
            | Transaction Date:
            <strong><span class="mm_panel_text">
                                                    3/28/15                                                </span>
            </strong>

            <div class="separator-small"></div>

                <div class="separator-small"></div>
                <a href="/survey/flag/9287742"><i class="fa fa-flag"></i> Flag Review &raquo;</a>
                                     <a href="/user/contact/nintytwomw/comment/9287742"><i class="fa fa-envelope"></i> Email reviewer &raquo;</a>
                                                     <a  href="javascript:view_detail(8713492)"><i class="fa fa-search"></i> View details &raquo;</a>

                                    <a href="/survey/reply/9287742"> <i class="fa fa-bullhorn"></i> Post public reply &raquo;</a>
                                                     <a href="#" id="lnk_commentFeature_8713492" data-id="8713492" data-featured="no"><i class="fa fa-star"></i> Feature</a>
                                <!-- End Seller admin edit options -->

        <div class="separator"></div>

        <h3 class="subheader">Tag Review  <a href="#" data-reveal-id="user_terms"><i class="fa fa-question-circle"></i></a></h3>

        <ul class="tagdisplay taglist" survey_id="8713492" tags="[]"></ul>        <div class="separator"></div>


        </div>

现在我想访问 class="mm_panel_text" 并获取内容日期。我写了一个代码,但它不起作用。

foreach($html1->find('span[class="mm_panel_text"]') as $transaction_date){

    $transactionDate[] =  $transaction_date->innertext;



    //   $rating[] = $ratings->plainText;

    if (sizeof($transactionDate)==15) {

        var_dump($transactionDate);
    }

    //var_dump($links);
} 

这个类有很多div。所以我使用循环来访问所有元素的内容。代码有什么问题?它不显示任何内容。

【问题讨论】:

    标签: php simpledom


    【解决方案1】:

    这样就可以了

    $transactionDate = $html1-&gt;find('span[class="mm_panel_text"]')-&gt;plaintext ;

    或者

    $transactionDate = $html1-&gt;find('span[class=mm_panel_text]')-&gt;plaintext ;

    编辑:

    如果循环遍历所有具有 mm_panel_text 类的 div,你可以这样做

    foreach($html1->find('span.mm_panel_text') as $transaction_date)
    

    【讨论】:

    • 但是如何将其集成到每个循环中都会出现一个错误,称为--Trying to get property of non-object
    • 是的,但我也删除了 if 条件。但它不起作用:(如何使用 div 中的类信息遍历跨度文本?
    • 也许可以试试plaintext 而不是innertext
    猜你喜欢
    • 1970-01-01
    • 2016-01-08
    • 1970-01-01
    • 2014-03-08
    • 1970-01-01
    • 2016-07-30
    • 2011-10-18
    • 1970-01-01
    • 2013-08-08
    相关资源
    最近更新 更多