0

在我自己的函数中,首先我想要include一个html文件,然后如果在那个包含文件中,我们找到另一个html文件名,我想合并第一个包含文件和第二个包含文件的内容。

function inc($html){
$include_pattern = "\{\s*include\s*(\(|')\s*([a-zA-Z0-9-.\/-_]+)\s*(\)|')\s*\}";
preg_match_all("/$include_pattern/s",$html,$match);
if($len = count($match[0])){
$i=0;
        while($i<$len){
$file = preg_replace("/$include_pattern/s","$2",$match[0][$i]);

ob_start(); 
         include($file);
         $output = ob_get_contents();
         ob_end_clean();
//$output = $this->inc($output);
        $html = str_replace($match[0][$i],$output,$html);

$i++; 
     }
return $html;

       }
}

在此函数中,如果您查看代码中的注释部分,我尝试获取第二个包含html文件的内容。想象一下,如果我们包含1.html,如果在这个包含的文件中我们有2.html,我们如何显示内容2.html和内容1.html

如果您查看下面的图像,则可以清楚地了解当前主题。(我想在图像中获得类似“结果框”的结果)。

在此处输入图像描述

4

1 回答 1

0

我修复了我的功能中的问题。有改变的功能和运作良好......

function inc($html){
$include_pattern = "\{\s*include\s*(\(|')\s*([a-zA-Z0-9-.\/-_]+)\s*(\)|')\s*\}";
preg_match_all("/$include_pattern/s",$html,$match);
if($len = count($match[0])){
$i=0;
        while($i<$len){
$file = preg_replace("/$include_pattern/s","$2",$match[0][$i]);

ob_start(); 
         include($file);
         $output = ob_get_contents();
         ob_end_clean();

        $html = str_replace($match[0][$i],$output,$html);

$i++; 
     }
return inc($html); 
       }else{
     return $html;
   }
}
于 2012-12-10T13:23:04.667 回答