1

たとえば、次のコードがあるとします。

<!--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>
4

4 に答える 4

6
/<!--start-here-->(.*?)<!--end-here--->/ims

これはうまくいくはずです

于 2012-08-21T12:15:33.530 に答える
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];
于 2012-08-21T12:13:36.917 に答える
1

これを試して、

<!--start-here-->(.|\n)*<!--end-here-->
于 2012-08-21T12:15:07.040 に答える
1

これでうまくいくはずです: /<!--start-here-->.*<!--end-here-->/m.
次のように使用します。/<!--start-here-->.*<!--end-here-->/m.exec(htmlCode)

于 2012-08-21T12:15:15.247 に答える