我正在尝试在<table class="clubs"> .. </table>
之间提取数据
使用此代码:
preg_match('#\<table class\="clubs"\>(.*?)\</table\>#', $raw_data, $new_data);
我的HTML标记:
但我得到空阵列!怎么了?我相信一切都是正确的逃脱
答案 0 :(得分:3)
主要问题是.
与新行不匹配。您可以使用s
修饰符修复此问题,以使.
匹配换行符。
第二个问题是您使用////
,而应该只有一个/
。你也有很多不必要的逃脱:
preg_match('#<table class="clubs">(.*?)</table>#s', $raw_data, $new_data);
应该有效。 regex101 demo
也就是说,使用专门解析HTML的解析器会更好。