⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 regex.php

📁 FP2 CRM code+Mysql DB
💻 PHP
字号:
<?phpclass HTML_Template_Flexy_Compiler_Regex {            /**    * The main flexy engine    *    * @var object HTML_Template_Flexy    * @access public    */        var $flexy;    /**    *   classicParse - the older regex based code generator.    *   here all the replacing, filtering and writing of the compiled file is done    *   well this is not much work, but still its in here :-)    *    *   @access     private    *   @version    01/12/03    *   @author     Wolfram Kriesing <wolfram@kriesing.de>    *   @author     Alan Knowles <alan@akbkhome.com>    *   @return   boolean (basically true all the time here)    */    function compile(&$flexy)    {        $this->flexy = &$flexy;        // read the entire file into one variable        $fileContent = file_get_contents($flexy->currentTemplate);                 //  apply pre filter        $fileContent = $this->applyFilters( $fileContent , "/^pre_/i" );        $fileContent = $this->applyFilters( $fileContent , "/^(pre_|post_)/i",TRUE);        $fileContent = $this->applyFilters( $fileContent , "/^post_/i" );        // write the compiled template into the compiledTemplate-File        if( ($cfp = fopen( $flexy->compiledTemplate , 'w' )) ) {            fwrite($cfp,$fileContent);            fclose($cfp);            @chmod($flexy->compiledTemplate,0775);        }        return true;    }    /**    *   actually it will only be used to apply the pre and post filters    *    *   @access     public    *   @version    01/12/10    *   @author     Alan Knowles <alan@akbkhome.com>    *   @param      string  $input      the string to filter    *   @param      array   $prefix     the subset of methods to use.    *   @return     string  the filtered string    */    function applyFilters( $input , $prefix = "",$negate=FALSE)    {        $this->flexy->debug("APPLY FILTER $prefix<BR>");        $filters = $this->options['filters'];        $this->flexy->debug(serialize($filters)."<BR>");        foreach($filters as $filtername) {            $class = "HTML_Template_Flexy_Compiler_Regex_{$filtername}";            require_once("HTML/Template/Flexy/Compiler/Regex/{$filtername}.php");                        if (!class_exists($class)) {                return HTML_Template_Flexy::raiseError("Failed to load filter $filter",null,HTML_TEMPLATE_FLEXY_ERROR_DIE);            }                        if (!@$this->filter_objects[$class])  {                $this->filter_objects[$class] = new $class;                $this->filter_objects[$class]->_set_engine($this);            }            $filter = &$this->filter_objects[$class];            $methods = get_class_methods($class);            $this->flexy->debug("METHODS:");            $this->flexy->debug(serialize($methods)."<BR>");            foreach($methods as $method) {                if ($method{0} == "_") {                    continue; // private                }                if ($method  == $class) {                    continue; // constructor                }                $this->flexy->debug("TEST: $negate $prefix : $method");                if ($negate &&  preg_match($prefix,$method)) {                    continue;                }                if (!$negate && !preg_match($prefix,$method)) {                    continue;                }                                $this->flexy->debug("APPLYING $filtername $method<BR>");                $input = $filter->$method($input);            }        }        return $input;    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -