0

PHP を使用して単純な HTML DOM パーサーを使用して HTML オブジェクトを解析したいと考えています。抽出したい特定の部分が適切にタグでラップされていません。

<li class="tags">
   Required text: <span itemprop="testCat"><a href="/topics/new-topic/index.html" title="New Topic" onclick="s_objectID=&quot;http://www.example.com/topics/new-topic/index.html_1&quot;;return this.s_oc?this.s_oc(e):true">New Topic</a></span>, <span itemprop="testCat"><a href="/topics/new-topic-2/index.html" title="New Topic" onclick="s_objectID=&quot;http://www.example.com/topics/new-topic-2/index.html_1&quot;;return this.s_oc?this.s_oc(e):true">New Topic</a></span>, <span itemprop="testCat"><a href="/topics/new-topic-3/index.html" title="New Topic 3" onclick="s_objectID=&quot;http://www.example.com/topics/new-topic-3/index.html_1&quot;;return this.s_oc?this.s_oc(e):true">New Topic 3</a></span>, 
   <div class="more">
      <a href="javascript: void(0);" class="more-trigger" onclick="s_objectID=&quot;javascript: void(0);_1&quot;;return this.s_oc?this.s_oc(e):true">more</a>
      <div class="more-tags" style="top: 15px; left: 0px; display: none;">
         <div class="hd"></div>
         <div class="bd">
            <ul id="topic-filedin">
               <li>Another Required Text :
                  <a href="/topics/new-topic-4/index.html" onclick="s_objectID=&quot;http://www.example.com/topics/new-topic-4/index.html_1&quot;;return this.s_oc?this.s_oc(e):true">New Topic 4</a>
               </li>
               <li>Topic Intended For :
                  <a href="/topics/for-kids/index.html" onclick="s_objectID=&quot;http://www.example.com/topics/for-kids/index.html_1&quot;;return this.s_oc?this.s_oc(e):true">For Kids</a>
               </li>
            </ul>
         </div>
         <div class="ft"></div>
      </div>
      <script type="text/javascript">
         SNI.Node.ArticleInfo.moreTags();
      </script> 
   </div>
</li>

を使用して、タグ内にラップされたテキストを取得できます

$categories = $single_content->find('li[class=tags] span');
foreach ($categories as $key) {
  echo $key->plaintext . '<br>';
}

Required textAnother Required Textとを見つけることができませんTopic Intended For

4

1 に答える 1

0

「別の必須テキスト」と「トピックの対象」を取得するには、これを使用できます-

$text = $single_content->find("ui[class=topic-filedin]/li");

$textArray = 配列();

foreach($text as $ta)

{

$textArray[] = $ta->plaintext;

}

必要なテキストを配列で取得します。

于 2013-03-12T12:26:59.803 に答える