preg_replace():不推荐使用/ e修饰符

时间:2014-02-02 15:11:59

标签: php preg-replace

我遇到了一些代码的问题。它给了我上面的错误,但我还是没想出来。

    function get_block_from_str($str,$block = '',$c = false) {
    if (!$this->cache_tpl['block_'.$block]) {
        preg_replace('#<!-- '.(($c)?'\#':'').'BEGIN '.$block.' -->[\r\n]*(.*?)[\r\n]*<!-- '.(($c)?'\#':'').'END '.$block.' -->#se','$s = stripslashes("\1");',$str);
        if ($s != $str) $str = $s;
        else $str = '';
        $this->cache_tpl['block_'.$block] = $str;
    }
    return $this->cache_tpl['block_'.$block];
}

并继续使用包含以下代码的第88行:

function parse_tpl($code) {
    global $webTitle;
    $code = preg_replace('#<!-- BOX (.*?)\((.*?)\) -->#se', '$this->parse_box("\\1","\\2");', $code);
    $code = str_replace('{TPL_LINK}', "skin/".$_SESSION['current_tpl'], $code);
    $code = str_replace('{WEB_TITLE}', $webTitle, $code);
    $code = str_replace('{MAIN_URL}', $mainURL, $code);
    $code = str_replace('{CURRENT_MONTH}', m_get_config('current_month'), $code);
    $code = preg_replace('#<!-- BEGIN (.*?) -->[\r\n]*(.*?)[\r\n]*<!-- END (.*?) -->#s', '\\2', $code);
    echo $code;
}

任何帮助都是apreciated人

0 个答案:

没有答案