这是一个原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文件<!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 -->
然后提取内容片段,生成分别生成以下三个文件、
提取这个部分,生成 head.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 -->
提取这个部分,生成 index.html<!-- Start -->
<div class="warp">
<div><br /></div>
<div><br /></div>
<div><br /></div>
<div><br /></div>
</div>
<!-- End -->
提取这个部分,生成 foot.html
<!-- Start -->
<div class="footer"></div>
</body>
</html>
<!-- End -->
php生成文件 php

解决方案 »

  1.   

    $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);
      

  2.   

    Quote: 引用 1 楼 xuzuning 的回复:
    版主,你太厉害了!
    希望再次得到你的帮助,第一问题我可能没说清楚:<!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的代码,我想通过php 处理后得到以下这个代码,就是在html中某些位置 添加<!-- Start -->
    <!-- End -->这样的代码 如下:能否帮我解决下,谢谢版主,
    <!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 -->
      

  3.   

    $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 -->