PHPで変数を分割する方法を教えてください。


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>

回答の条件
  • 1人2回まで
  • 登録:
  • 終了:2007/10/10 22:18:59
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:GEN111 No.1

回答回数472ベストアンサー獲得回数58

ポイント79pt

こんな感じでどうでしょうか。

$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] ;
id:urawareds

こんばんは。ありがとうございます

思った通りに動きました!

2007/10/10 22:18:17

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません