亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? smarty_compiler.class.php

?? asterisk用 的voip記費軟件
?? PHP
?? 第 1 頁 / 共 5 頁
字號:
<?php/** * Project:     Smarty: the PHP compiling template engine * File:        Smarty_Compiler.class.php * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA * * @link http://smarty.php.net/ * @author Monte Ohrt <monte at ohrt dot com> * @author Andrei Zmievski <andrei@php.net> * @version 2.6.13 * @copyright 2001-2005 New Digital Group, Inc. * @package Smarty *//* $Id: Smarty_Compiler.class.php,v 1.378 2006/01/29 18:11:22 messju Exp $ *//** * Template compiling class * @package Smarty */class Smarty_Compiler extends Smarty {    // internal vars    /**#@+     * @access private     */    var $_folded_blocks         =   array();    // keeps folded template blocks    var $_current_file          =   null;       // the current template being compiled    var $_current_line_no       =   1;          // line number for error messages    var $_capture_stack         =   array();    // keeps track of nested capture buffers    var $_plugin_info           =   array();    // keeps track of plugins to load    var $_init_smarty_vars      =   false;    var $_permitted_tokens      =   array('true','false','yes','no','on','off','null');    var $_db_qstr_regexp        =   null;        // regexps are setup in the constructor    var $_si_qstr_regexp        =   null;    var $_qstr_regexp           =   null;    var $_func_regexp           =   null;    var $_reg_obj_regexp        =   null;    var $_var_bracket_regexp    =   null;    var $_num_const_regexp      =   null;    var $_dvar_guts_regexp      =   null;    var $_dvar_regexp           =   null;    var $_cvar_regexp           =   null;    var $_svar_regexp           =   null;    var $_avar_regexp           =   null;    var $_mod_regexp            =   null;    var $_var_regexp            =   null;    var $_parenth_param_regexp  =   null;    var $_func_call_regexp      =   null;    var $_obj_ext_regexp        =   null;    var $_obj_start_regexp      =   null;    var $_obj_params_regexp     =   null;    var $_obj_call_regexp       =   null;    var $_cacheable_state       =   0;    var $_cache_attrs_count     =   0;    var $_nocache_count         =   0;    var $_cache_serial          =   null;    var $_cache_include         =   null;    var $_strip_depth           =   0;    var $_additional_newline    =   "\n";    /**#@-*/    /**     * The class constructor.     */    function Smarty_Compiler()    {        // matches double quoted strings:        // "foobar"        // "foo\"bar"        $this->_db_qstr_regexp = '"[^"\\\\]*(?:\\\\.[^"\\\\]*)*"';        // matches single quoted strings:        // 'foobar'        // 'foo\'bar'        $this->_si_qstr_regexp = '\'[^\'\\\\]*(?:\\\\.[^\'\\\\]*)*\'';        // matches single or double quoted strings        $this->_qstr_regexp = '(?:' . $this->_db_qstr_regexp . '|' . $this->_si_qstr_regexp . ')';        // matches bracket portion of vars        // [0]        // [foo]        // [$bar]        $this->_var_bracket_regexp = '\[\$?[\w\.]+\]';        // matches numerical constants        // 30        // -12        // 13.22        $this->_num_const_regexp = '(?:\-?\d+(?:\.\d+)?)';        // matches $ vars (not objects):        // $foo        // $foo.bar        // $foo.bar.foobar        // $foo[0]        // $foo[$bar]        // $foo[5][blah]        // $foo[5].bar[$foobar][4]        $this->_dvar_math_regexp = '(?:[\+\*\/\%]|(?:-(?!>)))';        $this->_dvar_math_var_regexp = '[\$\w\.\+\-\*\/\%\d\>\[\]]';        $this->_dvar_guts_regexp = '\w+(?:' . $this->_var_bracket_regexp                . ')*(?:\.\$?\w+(?:' . $this->_var_bracket_regexp . ')*)*(?:' . $this->_dvar_math_regexp . '(?:' . $this->_num_const_regexp . '|' . $this->_dvar_math_var_regexp . ')*)?';        $this->_dvar_regexp = '\$' . $this->_dvar_guts_regexp;        // matches config vars:        // #foo#        // #foobar123_foo#        $this->_cvar_regexp = '\#\w+\#';        // matches section vars:        // %foo.bar%        $this->_svar_regexp = '\%\w+\.\w+\%';        // matches all valid variables (no quotes, no modifiers)        $this->_avar_regexp = '(?:' . $this->_dvar_regexp . '|'           . $this->_cvar_regexp . '|' . $this->_svar_regexp . ')';        // matches valid variable syntax:        // $foo        // $foo        // #foo#        // #foo#        // "text"        // "text"        $this->_var_regexp = '(?:' . $this->_avar_regexp . '|' . $this->_qstr_regexp . ')';        // matches valid object call (one level of object nesting allowed in parameters):        // $foo->bar        // $foo->bar()        // $foo->bar("text")        // $foo->bar($foo, $bar, "text")        // $foo->bar($foo, "foo")        // $foo->bar->foo()        // $foo->bar->foo->bar()        // $foo->bar($foo->bar)        // $foo->bar($foo->bar())        // $foo->bar($foo->bar($blah,$foo,44,"foo",$foo[0].bar))        $this->_obj_ext_regexp = '\->(?:\$?' . $this->_dvar_guts_regexp . ')';        $this->_obj_restricted_param_regexp = '(?:'                . '(?:' . $this->_var_regexp . '|' . $this->_num_const_regexp . ')(?:' . $this->_obj_ext_regexp . '(?:\((?:(?:' . $this->_var_regexp . '|' . $this->_num_const_regexp . ')'                . '(?:\s*,\s*(?:' . $this->_var_regexp . '|' . $this->_num_const_regexp . '))*)?\))?)*)';        $this->_obj_single_param_regexp = '(?:\w+|' . $this->_obj_restricted_param_regexp . '(?:\s*,\s*(?:(?:\w+|'                . $this->_var_regexp . $this->_obj_restricted_param_regexp . ')))*)';        $this->_obj_params_regexp = '\((?:' . $this->_obj_single_param_regexp                . '(?:\s*,\s*' . $this->_obj_single_param_regexp . ')*)?\)';        $this->_obj_start_regexp = '(?:' . $this->_dvar_regexp . '(?:' . $this->_obj_ext_regexp . ')+)';        $this->_obj_call_regexp = '(?:' . $this->_obj_start_regexp . '(?:' . $this->_obj_params_regexp . ')?(?:' . $this->_dvar_math_regexp . '(?:' . $this->_num_const_regexp . '|' . $this->_dvar_math_var_regexp . ')*)?)';                // matches valid modifier syntax:        // |foo        // |@foo        // |foo:"bar"        // |foo:$bar        // |foo:"bar":$foobar        // |foo|bar        // |foo:$foo->bar        $this->_mod_regexp = '(?:\|@?\w+(?::(?:\w+|' . $this->_num_const_regexp . '|'           . $this->_obj_call_regexp . '|' . $this->_avar_regexp . '|' . $this->_qstr_regexp .'))*)';        // matches valid function name:        // foo123        // _foo_bar        $this->_func_regexp = '[a-zA-Z_]\w*';        // matches valid registered object:        // foo->bar        $this->_reg_obj_regexp = '[a-zA-Z_]\w*->[a-zA-Z_]\w*';        // matches valid parameter values:        // true        // $foo        // $foo|bar        // #foo#        // #foo#|bar        // "text"        // "text"|bar        // $foo->bar        $this->_param_regexp = '(?:\s*(?:' . $this->_obj_call_regexp . '|'           . $this->_var_regexp . '|' . $this->_num_const_regexp  . '|\w+)(?>' . $this->_mod_regexp . '*)\s*)';        // matches valid parenthesised function parameters:        //        // "text"        //    $foo, $bar, "text"        // $foo|bar, "foo"|bar, $foo->bar($foo)|bar        $this->_parenth_param_regexp = '(?:\((?:\w+|'                . $this->_param_regexp . '(?:\s*,\s*(?:(?:\w+|'                . $this->_param_regexp . ')))*)?\))';        // matches valid function call:        // foo()        // foo_bar($foo)        // _foo_bar($foo,"bar")        // foo123($foo,$foo->bar(),"foo")        $this->_func_call_regexp = '(?:' . $this->_func_regexp . '\s*(?:'           . $this->_parenth_param_regexp . '))';    }    /**     * compile a resource     *     * sets $compiled_content to the compiled source     * @param string $resource_name     * @param string $source_content     * @param string $compiled_content     * @return true     */    function _compile_file($resource_name, $source_content, &$compiled_content)    {        if ($this->security) {            // do not allow php syntax to be executed unless specified            if ($this->php_handling == SMARTY_PHP_ALLOW &&                !$this->security_settings['PHP_HANDLING']) {                $this->php_handling = SMARTY_PHP_PASSTHRU;            }        }        $this->_load_filters();        $this->_current_file = $resource_name;        $this->_current_line_no = 1;        $ldq = preg_quote($this->left_delimiter, '~');        $rdq = preg_quote($this->right_delimiter, '~');        // run template source through prefilter functions        if (count($this->_plugins['prefilter']) > 0) {            foreach ($this->_plugins['prefilter'] as $filter_name => $prefilter) {                if ($prefilter === false) continue;                if ($prefilter[3] || is_callable($prefilter[0])) {                    $source_content = call_user_func_array($prefilter[0],                                                            array($source_content, &$this));                    $this->_plugins['prefilter'][$filter_name][3] = true;                } else {                    $this->_trigger_fatal_error("[plugin] prefilter '$filter_name' is not implemented");                }            }        }        /* fetch all special blocks */        $search = "~{$ldq}\*(.*?)\*{$rdq}|{$ldq}\s*literal\s*{$rdq}(.*?){$ldq}\s*/literal\s*{$rdq}|{$ldq}\s*php\s*{$rdq}(.*?){$ldq}\s*/php\s*{$rdq}~s";        preg_match_all($search, $source_content, $match,  PREG_SET_ORDER);        $this->_folded_blocks = $match;        reset($this->_folded_blocks);        /* replace special blocks by "{php}" */        $source_content = preg_replace($search.'e', "'"                                       . $this->_quote_replace($this->left_delimiter) . 'php'                                       . "' . str_repeat(\"\n\", substr_count('\\0', \"\n\")) .'"                                       . $this->_quote_replace($this->right_delimiter)                                       . "'"                                       , $source_content);        /* Gather all template tags. */        preg_match_all("~{$ldq}\s*(.*?)\s*{$rdq}~s", $source_content, $_match);        $template_tags = $_match[1];        /* Split content by template tags to obtain non-template content. */        $text_blocks = preg_split("~{$ldq}.*?{$rdq}~s", $source_content);        /* loop through text blocks */        for ($curr_tb = 0, $for_max = count($text_blocks); $curr_tb < $for_max; $curr_tb++) {            /* match anything resembling php tags */            if (preg_match_all('~(<\?(?:\w+|=)?|\?>|language\s*=\s*[\"\']?php[\"\']?)~is', $text_blocks[$curr_tb], $sp_match)) {                /* replace tags with placeholders to prevent recursive replacements */                $sp_match[1] = array_unique($sp_match[1]);                usort($sp_match[1], '_smarty_sort_length');                for ($curr_sp = 0, $for_max2 = count($sp_match[1]); $curr_sp < $for_max2; $curr_sp++) {                    $text_blocks[$curr_tb] = str_replace($sp_match[1][$curr_sp],'%%%SMARTYSP'.$curr_sp.'%%%',$text_blocks[$curr_tb]);                }                /* process each one */                for ($curr_sp = 0, $for_max2 = count($sp_match[1]); $curr_sp < $for_max2; $curr_sp++) {                    if ($this->php_handling == SMARTY_PHP_PASSTHRU) {                        /* echo php contents */                        $text_blocks[$curr_tb] = str_replace('%%%SMARTYSP'.$curr_sp.'%%%', '<?php echo \''.str_replace("'", "\'", $sp_match[1][$curr_sp]).'\'; ?>'."\n", $text_blocks[$curr_tb]);                    } else if ($this->php_handling == SMARTY_PHP_QUOTE) {                        /* quote php tags */                        $text_blocks[$curr_tb] = str_replace('%%%SMARTYSP'.$curr_sp.'%%%', htmlspecialchars($sp_match[1][$curr_sp]), $text_blocks[$curr_tb]);                    } else if ($this->php_handling == SMARTY_PHP_REMOVE) {                        /* remove php tags */                        $text_blocks[$curr_tb] = str_replace('%%%SMARTYSP'.$curr_sp.'%%%', '', $text_blocks[$curr_tb]);                    } else {                        /* SMARTY_PHP_ALLOW, but echo non php starting tags */                        $sp_match[1][$curr_sp] = preg_replace('~(<\?(?!php|=|$))~i', '<?php echo \'\\1\'?>'."\n", $sp_match[1][$curr_sp]);                        $text_blocks[$curr_tb] = str_replace('%%%SMARTYSP'.$curr_sp.'%%%', $sp_match[1][$curr_sp], $text_blocks[$curr_tb]);                    }                }            }        }        /* Compile the template tags into PHP code. */        $compiled_tags = array();        for ($i = 0, $for_max = count($template_tags); $i < $for_max; $i++) {            $this->_current_line_no += substr_count($text_blocks[$i], "\n");            $compiled_tags[] = $this->_compile_tag($template_tags[$i]);            $this->_current_line_no += substr_count($template_tags[$i], "\n");        }        if (count($this->_tag_stack)>0) {            list($_open_tag, $_line_no) = end($this->_tag_stack);            $this->_syntax_error("unclosed tag \{$_open_tag} (opened line $_line_no).", E_USER_ERROR, __FILE__, __LINE__);            return;        }        /* Reformat $text_blocks between 'strip' and '/strip' tags,           removing spaces, tabs and newlines. */        $strip = false;        for ($i = 0, $for_max = count($compiled_tags); $i < $for_max; $i++) {            if ($compiled_tags[$i] == '{strip}') {                $compiled_tags[$i] = '';                $strip = true;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日本午夜精品一区二区三区电影| 91网址在线看| 成人免费毛片高清视频| 欧美人狂配大交3d怪物一区| 国产欧美日韩亚州综合 | 国产精品超碰97尤物18| 蜜桃视频在线观看一区二区| 91视频在线看| 国产免费观看久久| 久久黄色级2电影| 欧美熟乱第一页| 亚洲色图第一区| jiyouzz国产精品久久| 精品国产91久久久久久久妲己 | 日韩一区二区免费高清| 一区二区三区在线视频观看| 懂色av一区二区三区免费观看| 欧美一区二区三区播放老司机| 亚洲国产一二三| 97se亚洲国产综合在线| 中文字幕中文字幕一区二区| 国产剧情在线观看一区二区| 日韩免费成人网| 蜜臀av一区二区| 欧美一区二区三区免费视频| 日日夜夜精品免费视频| 在线不卡一区二区| 亚洲午夜一区二区| 在线日韩av片| 亚洲国产精品久久一线不卡| 欧美性三三影院| 午夜国产不卡在线观看视频| 在线亚洲高清视频| 亚洲午夜国产一区99re久久| 欧美日韩在线观看一区二区 | 欧美大胆一级视频| 久久精品国产精品亚洲精品| 欧美大胆人体bbbb| 国产一区二区剧情av在线| 精品av久久707| 国产美女主播视频一区| 亚洲国产经典视频| 91免费在线看| 午夜精品视频在线观看| 69久久99精品久久久久婷婷| 久久国产麻豆精品| 欧美激情中文字幕| 91亚洲男人天堂| 亚洲 欧美综合在线网络| 欧美一区二区三区四区五区| 国产资源在线一区| 国产精品久久久一区麻豆最新章节| 成人动漫精品一区二区| 亚洲综合激情另类小说区| 欧美一区二区三区视频在线观看 | 国产清纯美女被跳蛋高潮一区二区久久w| 精品亚洲aⅴ乱码一区二区三区| 国产午夜三级一区二区三| av一二三不卡影片| 亚洲mv在线观看| 欧美精品一区二区久久婷婷 | 欧美一区二区精品久久911| 国产一区在线观看麻豆| 亚洲男人的天堂网| 精品日产卡一卡二卡麻豆| 成人激情免费视频| 亚洲国产精品欧美一二99| 久久亚洲捆绑美女| 一本到不卡精品视频在线观看| 奇米777欧美一区二区| 国产精品免费丝袜| 欧美日本在线播放| 成人做爰69片免费看网站| 偷拍日韩校园综合在线| 亚洲国产精品成人综合色在线婷婷| 欧美日韩精品免费观看视频| 国产高清不卡二三区| 午夜激情久久久| 亚洲欧美一区二区三区孕妇| 欧美v亚洲v综合ⅴ国产v| 91黄色免费观看| 国产精品1024| 蜜臀a∨国产成人精品| 一区二区三区在线不卡| 亚洲精品在线网站| 337p亚洲精品色噜噜狠狠| 99在线精品一区二区三区| 国产在线播精品第三| 亚洲国产视频直播| 自拍偷拍亚洲激情| 国产午夜精品一区二区三区四区 | 欧洲精品在线观看| 丁香婷婷综合激情五月色| 久久超碰97人人做人人爱| 天堂va蜜桃一区二区三区| 1000精品久久久久久久久| 久久久久一区二区三区四区| 欧美一区二区三区在线观看 | 国产精品天干天干在线综合| 日韩欧美激情一区| 欧美猛男男办公室激情| 91免费视频网址| 99re成人精品视频| 国产高清不卡二三区| 国产乱码一区二区三区| 久久精品久久综合| 久久精品国产99| 久久99精品视频| 蜜桃视频一区二区三区在线观看| 视频一区二区三区在线| 亚洲国产精品一区二区久久| 亚洲成人动漫在线观看| 亚洲一区国产视频| 亚洲h精品动漫在线观看| 亚洲一区二区在线视频| 午夜精品久久久久久久蜜桃app | 亚洲人午夜精品天堂一二香蕉| 欧美国产1区2区| 国产精品久久久久久久久果冻传媒| 久久免费精品国产久精品久久久久| 久久久电影一区二区三区| 国产欧美日韩另类一区| 日本一区二区免费在线| 中文字幕精品一区二区三区精品| 欧美激情资源网| 亚洲免费资源在线播放| 亚洲夂夂婷婷色拍ww47| 日韩av一区二区三区四区| 蜜桃av噜噜一区二区三区小说| 久久成人免费网站| 国产福利不卡视频| 91视频在线观看免费| 欧美久久一二三四区| 日韩视频在线永久播放| 久久精子c满五个校花| 《视频一区视频二区| 亚洲国产精品久久久久秋霞影院| 日韩精品电影在线| 国产黄色精品网站| 色乱码一区二区三区88| 777xxx欧美| 中文字幕成人在线观看| 亚洲欧美国产77777| 日韩电影在线观看一区| 成人免费看片app下载| 日本高清视频一区二区| 日韩欧美一区二区三区在线| 亚洲国产精品成人综合 | 国产福利一区二区三区| 一本大道久久a久久综合| 555夜色666亚洲国产免| 国产午夜精品一区二区三区视频| 亚洲黄色录像片| 精品一区二区三区久久久| 成人免费看的视频| 日韩一区二区不卡| 中文字幕一区二区三区av| 日韩—二三区免费观看av| 成人黄色电影在线| 91精品综合久久久久久| 中文字幕亚洲视频| 久久99国产精品久久| 色吧成人激情小说| 亚洲精品在线电影| 亚洲国产你懂的| 9l国产精品久久久久麻豆| 欧美一级高清大全免费观看| 亚洲欧洲日本在线| 激情久久五月天| 欧洲生活片亚洲生活在线观看| 欧美国产亚洲另类动漫| 奇米影视一区二区三区小说| 色偷偷久久一区二区三区| 亚洲精品在线免费播放| 日韩国产欧美视频| 在线观看日韩国产| 中文字幕国产一区二区| 国产尤物一区二区| 日韩欧美成人一区二区| 视频一区二区三区在线| 欧美性生活一区| 亚洲精品成人在线| 成人动漫av在线| 欧美国产激情一区二区三区蜜月| 紧缚捆绑精品一区二区| 91精品福利在线一区二区三区 | 午夜精品在线看| 色菇凉天天综合网| 中文字幕亚洲在| zzijzzij亚洲日本少妇熟睡| 国产视频一区二区在线观看| 国产综合色在线视频区| 久久久亚洲综合| 国产精品一卡二卡| 国产色一区二区| 成人黄色小视频在线观看| 国产精品久久三区| 色悠久久久久综合欧美99| 亚洲视频 欧洲视频| 91视频免费播放|