php正则替换table的实现方法:首页使用php采集table表格数据;然后利用正则把“
”等标签删除掉;最后添加对应的替换即可。
本文操作环境:windows7系统、PHP7.1版,DELL G3电脑
php 正则匹配网页html 中的table 把内容转化成数组
在对接京东vop 的时候,在京东返回规格属性的时候,返回的是 html格式的样式,例
$date=' <table cellpadding="0" cellspacing="1" width="100%"border="0" class="Ptable"> <tr> <th class="tdTitle" colspan="2">主体 </th> <tr> <tr> <td class="tdTitle">品牌 </td> <td>好孩子 </td> </tr> <tr> <td class="tdTitle">主材质 </td> <td>PP </td> </tr> <tr> <td class="tdTitle">规格 </td> <td>800mm*445mm*225 </td> </tr> </table>';登录后复制如上的表格 ,预览为
接下来便是进行提取, 提取思路是 利用正则把
, 等标签先删除掉。 先贴代码
//php采集table表格数据(将HTML表格的每行每列转为数组) function tdToArray($table) { $table = preg_replace("'<table[^>]*?>'si","",$table); $table = preg_replace("'<tr[^>]*?>'si","",$table); $table = preg_replace("'<td[^>]*?>'si","",$table); $table = str_replace("</tr>","{tr}",$table); $table = str_replace("</td>","{td}",$table); //去掉 HTML 标记 $table = preg_replace("'<[/!]*?[^<>]*?>'si","",$table); //去掉空白字符 $table = preg_replace("'([rn])[s]+'","",$table); $table = str_replace(" ","",$table); $table = str_replace(" ","",$table); $table = explode('{tr}', $table); array_pop($table); foreach ($table as $key=>$tr) { // 自己可添加对应的替换 $td = explode('{td}', $tr); array_pop($td); $td_array[] = $td; } return $td_array; }登录后复制用debug 走流程,观察每一步,具体就不详述,放一张最后$table的变量
经过array_pop之后的变量
是 如下
上面的\r\n 是为了区分加的换行, 可以用str_replace 替换 ,另外还有标题也可以替换, 如下
最终效果
推荐学习:《PHP视频教程》
以上是php正则替换table怎么实现的详细内容。更多信息请关注PHP中文网其他相关文章!
相关标签:来源:php.cn本站声明本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn作者最新文章
2023-04-24 11:00:01 2023-04-24 10:55:51 2023-04-24 10:52:44 2023-04-23 17:40:51 2023-04-23 17:38:02 2023-04-23 17:34:02 2023-04-23 10:15:45 2023-04-23 10:10:52 2023-04-21 16:01:59 2023-04-21 15:58:01最新问题PHP数组从URL参数中获取的行为不如预期 我有一个包含类别ID的URL参数,我想将其视为一个数组,如下所示:http://example.com?cat[]=3,9,13在PHP中,我使用它从URL参数获取数组:$catI...来自于 2024-04-06 22:09:02011428我应该在 apache 中哪里放置 CustomLog 指令 我正在使用php:7.2-apachedocker。我需要禁用运行状况检查url登录访问日志。基于此链接,他们提到了有关修改Customlog指令的信息。我不是关于需要更改Cust...来自于 2024-04-06 22:03:5901990返回值中变量的格式是什么? 我是php的新学习者。我发现有一段代码:if($x<time()){return[false,'error'];}逻辑或变量并不重要,但我不明白[false,'error']...来自于 2024-04-06 21:55:2001778按照ID对MySQL结果进行分组以便循环遍历 我有一个表,其中有mysql中的航班数据。我正在编写一个php代码,它将使用codeigniter3对数据进行分组和显示journey_idair_idFlightDuration...来自于 2024-04-06 17:27:5601406相关专题更多>热门教程更多>
php入门教程之一周学会PHP4260110 JAVA 初级入门视频教程2494721 小甲鱼零基础入门学习Python视频教程504711 PHP 零基础入门教程859561