2016-07-22 3 views
0

div> ul> li> div> strong> a(リンクとリンク1)のデータをウェブサイトから解析します。しかし、私は成功することはできません。DOMを使用したスパンクラステキストの内部クラスを解析するPHP

私はドームのデータを解析するコードを使用します。

$DTP = retrieve_node_text($data, "//li[@class='coll-1']"); 

HTMLは次のとおりです。

<div class="tab-detail"> 
    <ul class="clearfix"> 
     <li> 
      <div class="coll-1"> 
       <a href="#">icon</a> 
       <strong> 
        <a href="LINK">Link 1</a> 
       </strong> 
      </div> 
     </li> 
     <li> 
      <div class="coll-1"> 
       <a href="#">icon</a> 
       <strong> 
        <a href="LINK">Link 1</a> 
       </strong> 
      </div> 
     </li> 
     <ul/> 
    </div> 
+0

このマークアップにAFAIK 'li [@ class = 'coll-1']'は存在しません。クラスは 'li'要素の子であるdivの属性です。 'retrieve_node_text'はカスタム関数であるようですが、その関数のコードは提供していません。 –

答えて

0

あなたはそれがサーバ側のHTML文字列解析のためのjQueryのと同等ですphpQueryライブラリを使用することができます。

https://code.google.com/archive/p/phpquery/

私はそれはあなたに役立つことを願っています。

+0

これは本当の答えではありません。リンクのみの回答はお勧めできません。なぜ現状のアプローチが間違っているのかを説明することができません。また、リンクされた第三者のリソースを使用することが、この特定のケースで役立つのはなぜですか(おそらくそうではないでしょう)。 XPathが間違っていて、悪いxpathで動作するライブラリが見つかった場合は、基本的にバグのあるツールを使用しています。 –

+0

@EliasVanOotegem、これはバグのないツールですが、jQueryのようなdom要素を解析するのに時間がかかることがあります。非常に簡単なライブラリです。これはすべての文書と同様にチェックしてください。 他の人の答えを落胆させないようにしてください。 –

+0

私は人々が答えをするのを躊躇っていません。私が指摘していることは、ヘルプセクションをチェックすると、あなたが投稿した回答はSOガイドライン。リンクが壊れているため、このサイトの目標は将来の参照として役立つため、リンクのみの回答は積極的にお勧めしません。この答えは、リンクが壊れた瞬間、役に立たなくなります。第二に、私はこのツールが壊れていると言っているわけではありません、私はOPが持っている実際の_issue_に対処できなかったと言います。マークアップを見て、彼が使っているxpathを見てください。 XPathが無効です! –

関連する問題