使用正则表达式从此HTML中提取数据

时间:2014-02-23 17:36:14

标签: php regex

我正在尝试在<table class="clubs"> .. </table>之间提取数据 使用此代码:

preg_match('#\<table class\="clubs"\>(.*?)\</table\>#', $raw_data, $new_data);

我的HTML标记:

但我得到空阵列!怎么了?我相信一切都是正确的逃脱

1 个答案:

答案 0 :(得分:3)

主要问题是.与新行不匹配。您可以使用s修饰符修复此问题,以使.匹配换行符。

第二个问题是您使用////,而应该只有一个/。你也有很多不必要的逃脱:

preg_match('#<table class="clubs">(.*?)</table>#s', $raw_data, $new_data);

应该有效。 regex101 demo

也就是说,使用专门解析HTML的解析器会更好。