如何使用PHP解析一个非常简单的表格
好日子亲爱的社区!如何使用PHP解析一个非常简单的表格
我需要构建一个函数来解析一个非常简单的表 (带有一些标签和值)的内容,请参阅下面的URL。我已经使用各种方式来解析html源代码。但这一个是有点棘手!见我需要解析的目标 - 它有一些invaild标记:
目标:http://www.schulministerium.nrw.de/BP/SchuleSuchen?action=644.0013008534253&SchulAdresseMapDO=194190
嗯,我这一个
<?php
require_once('config.php'); // call config.php for db connection
$filename = "url.txt"; // Include the txt file which have urls
$each_line = file($filename);
foreach($each_line as $line_num => $line)
{
$line = trim($line);
$content = file_get_contents($line);
//echo ($content)."<br>";
$pattern = '/<td>(.*?)<\/td>/si';
preg_match_all($pattern,$content,$matches);
foreach ($matches[1] as $match) {
$match = strip_tags($match);
$match = trim($match);
//var_dump($match);
$sql = mysqli_query("insert into tablename(contents) values ('$match')");
//echo $match;
}
}
?>
好试了一下 - 见正则表达式在线7-11:它不匹配!我不得不重做这个脚本的解析器部分。我需要解析一些不同的东西 - 因为parsercode不完全符合目标。它旨在取回表格的结果。
任何人都可以帮助我在这里得到一个更好的正则表达式 - 或更好的方式来解析这个网站... 任何和所有的帮助将大大apprecaited。
问候 零
你可以使用撕开使用 preg_split('/<td width="73%"> /', $str, -1);
表(注意,我没有理会转义字符)
你要删除的第一个条目。现在你可以使用stripos和substr来删除后面的所有东西。
这是一个基本的设置!你将不得不对它进行微调,但我希望这能让你了解我的方法。
美好的一天该死的美国人,很多很多感谢分享你的方法!通过放弃第一个条目,你的意思是我应该放弃我的方法。我用preg_split('/
正则表达式并不总是提供完美的结果。使用任何HTML解析器是一个好主意。有许多HTML解析器,如Gordon's Answer中所述。
我以前用过Simple HTML DOM Parser,它对我很有用。
例如:
// Create DOM from URL or file
$html = file_get_html('http://www.example.com/');
// Find all <td> in <table> which class=hello
$es = $html->find('table.hello td');
// Find all td tags with attribite align=center in table tags
$es = $html->find('table td[align=center]');
嗨Naveed - 非常感谢提示。我会在周末晚些时候尝试一下 – zero 2010-12-19 17:33:54
- 1. Oracle:如何非常简单修改表的表空间?
- 2. table表格简单使用
- 3. IOS绘制一个简单的表格
- 4. php类Snoopy简单分析如何使用
- 5. 如何用excel建立一个简单的收支表
- 6. ASP.NET MVC如何做一个简单的非法登录拦截
- 7. iPhone如何长截屏,这个方法非常简单
- 8. python简单爬虫 使用pandas解析表格,不规则表格
- 9. 如何彻底卸载云上PDF?一个非常简单的教程
- 10. HTML表格的简单使用1
- 11. 01-如何在Excel表的同一个单元格中换行?
- 12. 如何使用eclipse编写一个简单的java程序
- 13. 如何使用eclipse运行一个简单的java程序
- 14. 如何使用JS编写一个简单的计算器
- 15. 如何使用SpringBoot创建一个简单的web
- 16. 如何使用jqplot描绘一个简单的线形图?
- 17. 如何使用Mockplus的表格
- 18. html经常使用标签表单和表格等及css的简单入门
- 19. 如何实现一个表格 - Microsoft Excel
- 20. 如何实现一个表格 - 前言
- 21. 如何使用WinRAR的自解压功能做一个简单的安装包
- 22. python简单爬虫 用lxml解析页面中的表格
- 23. 使用 java 实现一个简单的 markdown 语法解析器
- 24. CSS如何实现一个既简单又漂亮的列表
- 25. PHP简单导出Excel表格
- 26. 基于PHP的table(表格)解析器
- 27. bootstrap-table表格分页简单使用
- 28. layui 数据表格,简单使用
- 29. 如何实现一个简单的web服务器(一)————简单了解TCP
- 30. 一个简单的json解析器
正则表达式并不总是提供完美的结果。使用任何HTML解析器是一个好主意。有许多HTML解析器,如Gordon's Answer中所述。
我以前用过Simple HTML DOM Parser,它对我很有用。
例如:
// Create DOM from URL or file
$html = file_get_html('http://www.example.com/');
// Find all <td> in <table> which class=hello
$es = $html->find('table.hello td');
// Find all td tags with attribite align=center in table tags
$es = $html->find('table td[align=center]');
嗨Naveed - 非常感谢提示。我会在周末晚些时候尝试一下 – zero 2010-12-19 17:33:54
做TD的有属性或其他sruff?怎么样一个XML解析器? – 2010-12-19 11:08:26
''无法在您要解析的网页中显示。 – 2010-12-19 11:08:36
看看http://simplehtmldom.sourceforge.net/(为了您的html解析需要) – Andreas 2010-12-19 11:10:42