1

我正在尝试匹配之间的所有内容<!-- and -->

我的PHP代码:

<?php
$html = <<< HTML
<!-- content
content content
content -->
<!-- dd  dsd  sdsd  s -->
<!-- dsajda2i -->
HTML;
preg_match_all('#<!-- (.*) -->#si',$html,$out,PREG_SET_ORDER);
print_r($out);
?>

但它与它不匹配。

OBS:我可以在里面有任何字符<!-- here any characters -->

有人能帮助我吗?

4

1 回答 1

2

您应该使用(.*?)而不仅仅是(.*). 正则表达式引擎的默认“贪婪”行为会产生意想不到的结果。

于 2012-08-26T22:57:08.910 回答