PHP4で、下記ようなHTMLファイル($html)を
『<body>タグ』を区切りとして前後2つに分割する方法を求めています。
なるべく具体的なコードでご教授のほど よろしくお願いします。
■ 条件
(1) <body>タグ自体は [分割1]に入ります
(2) <body>タグに下記のような例すべてに対応します
1.<body>
2.<body onload="readCookie();">
3.<BODY BGCOLOR="#ffffff" ALINK="#0000FF">
※HTMLは例です。実際にはもっとたくさんのソースが入ります。
--[元ファイル]---------------
$html = <<<EOL
<html>
<head>
<title>タイトル〜</title>
</head>
<body color="#999999">
<h1>こんにちは</h1>
<p>ほげほげ</p>
</body>
</head>
EOL;
↓ ( <body>をさかいに上下分割)
--[分割1]------------------
<html>
<head>
<title>タイトル〜</title>
</head>
<body color="#999999">
--[分割2]-------------------
<h1>こんにちは</h1>
<p>ほげほげ</p>
</body>
</head>
こんな感じでどうでしょうか。
$html = <<<EOL <html> <head> <title>タイトル〜</title> </head> <body color="#999999"> <h1>こんにちは</h1> <p>ほげほげ</p> </body> </head> EOL; preg_match('/^(.*?<body[^>]*?>)(.*$)/is', $html, $matches) ; $part_1 = $matches[1] ; $part_2 = $matches[2] ;
こんばんは。ありがとうございます
思った通りに動きました!