从 HTML 条评论中提取内容

Extract content from HTML comments

这是一些 HTML 代码

<!--start--> <h2>some content with any html tag</h2> <!--end-->
<!--start--> </h3> some other content with any html tag </h3><!--end-->

我需要 PHP 代码来读取评论数据。棘手的部分是评论是一样的,我需要两个内容。喜欢 H2 和 H3。

我有代码,但它只给出了一个。 H3.

$html_file = file_get_contents($allfiles[0]); 

$string = '<!--start-->'.$html_file.'<!--end-->';
preg_match('/<!--start-->(.*)<!--end-->/', $string, $matches);
$html = <<<EOT
<!--start--> <h2>some content with any html tag</h2> <!--end-->
<!--start--> </h3> some other content with any html tag </h3><!--end-->
EOT;
   
// using preg_match_all
preg_match_all('/(<!--start-->)(.*)(<!--end-->)/', $html, $matches1);
$matches = $matches1[2];

foreach ($html of $matches) {
   echo $html;
}

// using explode
$htmla = explode("<!--start-->", $html);
foreach($htmla as $h) $matches2[] = trim(explode("<!--end-->", $h)[0]);
$matches =array_filter($matches2);
print_r($matches2);

示例:https://www.tehplayground.com/ZCxwV8YWCQeePeFF

两种方法都产生:

Array
(
    [1] => <h2>some content with any html tag</h2>
    [2] => </h3> some other content with any html tag </h3>
)