Php 是否可以使用正则表达式解析div元素?

Php 是否可以使用正则表达式解析div元素?,php,regex,web-scraping,web-crawler,Php,Regex,Web Scraping,Web Crawler,我正在尝试用动态id解析div中的一些代码,例如: (其中xxxx代表随机数) 有没有办法通过使用正则表达式匹配所有可能的id(例如post-1111、post-1213等)来刮取给定div的元素 这是我的密码: dd` $target\u html=$list\u数组[$i]->href; $ftp\u html=file\u get\u html($target\u html); $ftp\u list=$ftp\u html->find('div.main',0); $ftp_数组=$ft

我正在尝试用动态id解析div中的一些代码,例如: (其中xxxx代表随机数)

有没有办法通过使用正则表达式匹配所有可能的id(例如post-1111、post-1213等)来刮取给定div的元素

这是我的密码:

dd`

$target\u html=$list\u数组[$i]->href;
$ftp\u html=file\u get\u html($target\u html);
$ftp\u list=$ftp\u html->find('div.main',0);
$ftp_数组=$ftp_列表->查找('div#post-4885a[id=“player”]”);
对于($j=0;$jrel.
); } 回声“
”;
服务器上的HTML示例:

<div class="main>
<div id="post-xxxx:>
   elements...

  </div></div>`

元素。。。
`

确保可以刮除标签(仅限)

给你
(帖子id在组2中,整个标签在组0中)

(?si)“]]|“[^”]*“[^”]*”)*?\sid\s*=\s*(?:([“))\s*(post-\d+。*?\1))\s+(?:“*?”*?“|*”*?)+>

可读的

 (?si)

 <div
 (?=
      (?: [^>"'] | " [^"]* " | ' [^']* ' )*?
      \s id \s* = \s* 
      (?:
           ( ['"] )                      # (1)
           \s* 
           ( post- \d+ )                 # (2)
           .*? 
           \1 
      )
 )
 \s+ 
 (?: " .*? " | ' .*? ' | [^>]*? )+
 >
(?si)
"'] | " [^"]* " | ' [^']* ' )*?
\s id\s*=\s*
(?:
( ['"] )                      # (1)
\s*
(后-\d+)(2)
.*? 
\1 
)
)
\s+
(?: " .*? " | ' .*? ' | [^>]*? )+
>
(?si)<div(?=(?:[^>"']|"[^"]*"|'[^']*')*?\sid\s*=\s*(?:(['"])\s*(post-\d+).*?\1))\s+(?:".*?"|'.*?'|[^>]*?)+>
 (?si)

 <div
 (?=
      (?: [^>"'] | " [^"]* " | ' [^']* ' )*?
      \s id \s* = \s* 
      (?:
           ( ['"] )                      # (1)
           \s* 
           ( post- \d+ )                 # (2)
           .*? 
           \1 
      )
 )
 \s+ 
 (?: " .*? " | ' .*? ' | [^>]*? )+
 >