例如,如果我有这段代码:
<!--start-here-->
<div>My Cool Content!!!</div>
<h1>Headerrr</h1>
<!--end-here-->
<div>Other Content</div>
如何使用正则表达式来获取&lt; - start-here - &gt;之间的内容和&lt; - end-here - &gt;?
所以我的输出是:
<div>My Cool Content!!!</div>
<h1>Headerrr</h1>
答案 0 :(得分:6)
/<!--start-here-->(.*?)<!--end-here--->/ims
这应该有效
答案 1 :(得分:3)
您不需要正则表达式
$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];
答案 2 :(得分:1)
试试这个,
<!--start-here-->(.|\n)*<!--end-here-->
答案 3 :(得分:1)
这应该可以解决问题:/<!--start-here-->.*<!--end-here-->/m
像这样使用它:/<!--start-here-->.*<!--end-here-->/m.exec(htmlCode)