glitch in PHP Simple HTML DOM parser

前端 未结 4 1958
既然无缘
既然无缘 2021-01-12 05:38

I\'m using PHP Simple HTML DOM Parser to scrape some data of a webshop (also running XAMPP 1.7.2 with PHP5.3.0), and I\'m running into problems with

4条回答
  •  北荒
    北荒 (楼主)
    2021-01-12 06:14

    There is a bug report for this issue here: http://sourceforge.net/p/simplehtmldom/bugs/79/

    It is still open at the time of this writing. There is an alternative fix if you do not wish to modify the source code, for example in a loop to find 's

    's 
      // below the  below the 
      foreach($dom->find('tbl#foo tbody tr') as $tr) {
        /* you will get nothing */
      }
    

    You can instead selectively check the parent tag name while iterating all

    's like so:

    's 
      // below the 
    below the
    foreach($dom->find('tbl#foo tr') as $tr) { // note the lack of tbody selector /* you will get all trs, but let's only work with ones with the parent of a tbody! */ if($tr->parent->tag == 'tbody') { // our workaround /* this part will work as you would expect the above broken code to work */ } }

    Also note, a slightly unrelated issue that I ran into, that Chrome and FF inspectors will correct tag soup regarding

    and . Be careful -- only look at the actual source -- stay away from the DOM inspectors if you run into unexplainable issues.

    提交回复
    热议问题