php如何对文件做处理,并提取内容生成文件?
这是一个原html文件
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
</head>
<body>
<div class="header"></div>
<div class="warp">
<div><br /></div>
<div><br /></div>
<div><br /></div>
<div><br /></div>
</div>
<div class="footer"></div>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<!-- Start -->
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
</head>
<body>
<div class="header"></div>
<!-- End -->
<!-- Start -->
<div class="warp">
<div><br /></div>
<div><br /></div>
<div><br /></div>
<div><br /></div>
</div>
<!-- End -->
<!-- Start -->
<div class="footer"></div>
</body>
</html>
<!-- End -->
$s =<<< HTML得到
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<!-- Start -->
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
</head>
<body>
<div class="header"></div>
<!-- End -->
<!-- Start -->
<div class="warp">
<div><br /></div>
<div><br /></div>
<div><br /></div>
<div><br /></div>
</div>
<!-- End -->
<!-- Start -->
<div class="footer"></div>
</body>
</html>
<!-- End -->
HTML;
preg_match_all('/.*?<!-- End -->/is', $s, $r);
print_r($r[0]);
Array
(
[0] => <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<!-- Start -->
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
</head>
<body>
<div class="header"></div>
<!-- End -->
[1] =>
<!-- Start -->
<div class="warp">
<div><br /></div>
<div><br /></div>
<div><br /></div>
<div><br /></div>
</div>
<!-- End -->
[2] =>
<!-- Start -->
<div class="footer"></div>
</body>
</html>
<!-- End -->
)
$fn = array('head.html', ' index.html', 'foot.html');
foreach($r[0] as $i=>$s)
file_put_contents($fn[$i], $s);
$s =<<< HTML
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
</head>
<body>
<div class="header"></div>
<div class="warp">
<div><br /></div>
<div><br /></div>
<div><br /></div>
<div><br /></div>
</div>
<div class="footer"></div>
</body>
</html>
HTML;
$ar = preg_split("/(<!.+?>\s+
[解决办法]
\r?\n\s\r?\n)/s", $s, -1, PREG_SPLIT_NO_EMPTY
[解决办法]
PREG_SPLIT_DELIM_CAPTURE);
$d = array(PHP_EOL.'<!-- End -->', '<!-- Start -->'.PHP_EOL);
foreach($ar as $i=>$v) {
if($i) echo $d[$i%2];
echo $v;
}
echo $d[0];
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<!-- Start -->
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
</head>
<body>
<div class="header"></div>
<!-- End -->
<!-- Start -->
<div class="warp">
<div><br /></div>
<div><br /></div>
<div><br /></div>
<div><br /></div>
</div>
<!-- End -->
<!-- Start -->
<div class="footer"></div>
</body>
</html>
<!-- End -->