PHP>;从html文件中提取html数据?

PHP>;从html文件中提取html数据?,php,Php,我最近一直在尝试从给定的html文件中提取列表信息 例如,我有一个html页面,其中有许多公司的列表,以及他们的电话号码、地址等 每个公司都在自己的表格中,每个表格都是这样开始的: 我尝试使用PHP获取所有信息,稍后再使用,比如将其放入txt文件,或者只是导入数据库 我认为实现我的目标的方法是使用正则表达式,这是我在php中真正遇到的问题之一 如果你们能在这里帮助我,我将不胜感激。 (我只需要知道要寻找什么,或者至少需要一些对我有帮助的东西,而不是完整的代码或类似的东西) 提前谢谢 我建议看一看

我最近一直在尝试从给定的html文件中提取列表信息

例如,我有一个html页面,其中有许多公司的列表,以及他们的电话号码、地址等

每个公司都在自己的表格中,每个表格都是这样开始的:

我尝试使用PHP获取所有信息,稍后再使用,比如将其放入txt文件,或者只是导入数据库

我认为实现我的目标的方法是使用正则表达式,这是我在php中真正遇到的问题之一

如果你们能在这里帮助我,我将不胜感激。 (我只需要知道要寻找什么,或者至少需要一些对我有帮助的东西,而不是完整的代码或类似的东西)


提前谢谢

我建议看一看PHP并使用实际的HTML解析器(而不是正则表达式)解析文件

有一些非常直接的方法来获取表格,例如方法



我建议看一下PHP,并使用实际的HTML解析器(而不是正则表达式)解析文件

有一些非常直接的方法来获取表格,例如方法



如果您熟悉jQuery(即使您的命令不够简单),我建议您使用这个PHP对应项:

如果您熟悉jQuery(即使您的命令不够简单),我建议您使用这个PHP对应项:

如果您的HTML是有效的XML,比如XHTML,然后,您可以使用

来解析它,如果您的HTML是有效的XML,就像在XHTML中一样,那么您可以使用

来解析它签出:不要使用正则表达式来解析HTML!!!签出:不要使用正则表达式解析HTML!!!
<?php

  $htmlCode = /* html code here */

  // create a new HTML parser
  // http://php.net/manual/en/class.domdocument.php
  $dom = new DOMDocument();

  // Load the HTML in to the parser
  // http://www.php.net/manual/en/domdocument.loadhtml.php
  $dom->LoadHTML($htmlCode);

  // Locate all the tables within the document
  // http://www.php.net/manual/en/domdocument.getelementsbytagname.php
  $tables = $dom->GetElementsByTagName('table');

  // iterate over all the tables
  $t = 0;
  while ($table = $tables->item($t++))
  {
    // you can now work with $table and find children within, check for
    // specific classes applied--look for anything that would flag this
    // as the type of table you'd like to parse and work with--then begin
    // grabbing information from within it and treating it as a DOMElement
    // http://www.php.net/manual/en/class.domelement.php
  }