PHP正则表达式提取html值

时间:2014-03-13 14:49:34

标签: php regex parsing preg-match-all

我想从下面的代码中提取值。

<tbody>
    <tr>
      <td><div class="file_pdf"><a href="javascript:downloadFile('1628')">note1</a></div></td>
      <td class="textright">110 KB</td>
      <td class="textright">106</td>
    </tr>
    <tr>
      <td><div class="file_pdf"><a href="javascript:downloadFile('1629')">note2.pdf</a></div></td>
      <td class="textright">44 KB</td>
      <td class="textright">104</td>
    </tr>
  </tbody>

我想提取'note1','note2'字符串以及1628和1629数字。

我很狂热

preg_match_all('~(\'\)\">(.*?)<\/a>)~', $getinside, $matches);

但结果不是我要找的......

是否有任何简单的RegEx来提取它们?谢谢!

1 个答案:

答案 0 :(得分:1)

它应该适合你:

preg_match_all("~downloadFile\('(\d+)'\)\">([^<]*)</a>~", $getinside, $matches);

请记住:如果您的html非常庞大/复杂,并且您还需要从那里解析更多其他内容,那么正则表达式不是更好的选择。