Php 是否可以使用正则表达式解析div元素?
我正在尝试用动态id解析div中的一些代码,例如: (其中xxxx代表随机数) 有没有办法通过使用正则表达式匹配所有可能的id(例如post-1111、post-1213等)来刮取给定div的元素 这是我的密码: dd`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
$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+
(?: " .*? " | ' .*? ' | [^>]*? )+
>