【发布时间】:2015-04-27 16:19:47
【问题描述】:
我尝试从网站检索结果,但我编写的正则表达式不想返回所有结果我有结果 1,3,5... 但从不返回 2,4,6...
这是一个文本示例:
<tr>
<td style="background-color:white">Inter en attente de cloture : </td>
<td style="background-color:red">depuis +2H</td>
<td style="background-color:#FF7F00">depuis -2H</td>
</tr>
</table>
<table class="tab_script">
<tr>
<td>N° commande</td>
<td>Nom</td>
<td>Prenom</td>
<td>N° Mobile</td>
<td>N° Fixe</td>
<td>Ville</td>
<td>Code Postal</td>
<td>Num. Intervention</td>
<td>date rdv</td>
</tr>
<tr bgcolor="#E5E5E5">
<form method="POST">
<td></td>
<td>NOM 1</td>
<td></td>
<td>0600000000</td>
<td>0400000000</td>
<td>VILLE</td>
<td>12345</td>
<td><a href="index.php?id=13&statut=2&id_inter=123271915">123271915</a></td>
<td style="background-color:red">23/11/2012 08:30</td>
</tr>
</form>
<tr bgcolor="#FFFFFF">
<form method="POST">
<td></td>
<td>NOM 2</td>
<td></td>
<td>0600000000</td>
<td>0400000000</td>
<td>VILLE</td>
<td>54321</td>
<td><a href="index.php?id=13&statut=2&id_inter=130680172">130680172</a></td>
<td style="background-color:red">09/03/2013 18:30</td>
</tr>
</form>
<tr bgcolor="#E5E5E5">
<form method="POST">
<td></td>
<td>NOM 3</td>
<td></td>
<td>0600000000</td>
<td>0400000000</td>
<td>VILLE</td>
<td>12345</td>
<td><a href="index.php?id=13&statut=2&id_inter=123271915">123271915</a></td>
<td style="background-color:red">23/11/2012 08:30</td>
</tr>
</form>
<tr bgcolor="#FFFFFF">
<form method="POST">
<td></td>
<td>NOM 4</td>
<td></td>
<td>0600000000</td>
<td>0400000000</td>
<td>VILLE</td>
<td>54321</td>
<td><a href="index.php?id=13&statut=2&id_inter=130680172">130680172</a></td>
<td style="background-color:red">09/03/2013 18:30</td>
</tr>
</form>
还有我的正则表达式:
$preg='#<tr.*?>.*?';
$preg.='<form.*?>.*?';
$preg.='<td>(.*?)</td>.*?';
$preg.='<td>(.*?)</td>.*?';
$preg.='<td>(.*?)</td>.*?';
$preg.='<td>(.*?)</td>.*?';
$preg.='<td>(.*?)</td>.*?';
$preg.='<td>(.*?)</td>.*?';
$preg.='<td>(.*?)</td>.*?';
$preg.='<td>(.*?)</td>.*?';
$preg.='<td>(.*?)</td>.*?';
$preg.='#ism';
preg_match_all($preg,$response,$match);
结果:
【问题讨论】:
-
我刚刚看到,如果我复制粘贴第一部分,我想找到几次它会被 preg 找到,而且问题不是我的正则表达式,而是文本本身但是我没有看到有什么不同...
-
lolwut... 已经使用 html 解析器...
-
查看 PHP 类 DomDocument。用正则表达式解析 HTML 有太多问题,关于它的很多帖子,这里有一个详尽的例子:stackoverflow.com/questions/3577641/…
-
我想要它,但我需要快速的代码,我不知道它是如何工作的,请问您如何获取我示例中的数据?
-
他所说的可以用正则表达式来完成。我只是相信这不是最快也不是最简单的解决方案
标签: php regex html-parsing preg-match-all