例如,如果我有以下代码:
<!--start-here-->
<div>My Cool Content!!!</div>
<h1>Headerrr</h1>
<!--end-here-->
<div>Other Content</div>
如何使用正则表达式来获取 <--start-here--> 和 <--end-here--> 之间的内容?
所以我的输出是:
<div>My Cool Content!!!</div>
<h1>Headerrr</h1>
/<!--start-here-->(.*?)<!--end-here--->/ims
这应该工作
你不需要正则表达式
$str = '<!--start-here-->
<div>My Cool Content!!!</div>
<h1>Headerrr</h1>
<!--end-here-->
<div>Other Content</div>';
$return = explode('<!--start-here-->', $str);
$return = explode('<!--end-here-->', $return[1]);
$return = $return[0];
或使用正则表达式
$str = preg_match('/<!--start-here-->[\s\S]*<!--end-here-->/', $str, $return);
$return = $return[0];
试试这个,
<!--start-here-->(.|\n)*<!--end-here-->
这应该可以解决问题:/<!--start-here-->.*<!--end-here-->/m
.
像这样使用它:/<!--start-here-->.*<!--end-here-->/m.exec(htmlCode)