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 textandAnother Required TextTopic 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 回答