您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

preg_replace_callback使用的有关问题

2025/12/28 8:34:39发布13次查看
preg_replace_callback使用的问题
$pattern = array(
            '//', // 替换smarty注释
            '//',               // 替换不换行的html注释
            '/(href=[|\'])\.\.\/(.*?)([|\'])/i',  // 替换相对链接
            '/((?:background|src)\s*=\s*[|\'])(?:\.\/|\.\.\/)?(images\/.*?[|\'])/is', // 在images前加上 $tmp_dir
            '/((?:background|background-image):\s*?url\()(?:\.\/|\.\.\/)?(images\/)/is', // 在images前加上 $tmp_dir
            '/{nocache}(.+?){\/nocache}/ise', //无缓存模块
            );
        $replace = array(
            '\1',
            '',
            '\1\2\3',
            '\1' . $tmp_dir . '\2',
            '\1' . $tmp_dir . '\2',
            '{insert name=\nocache\ ' . ' . $this->_echash . ' . base64_encode('\\1') . '}',
            );
return preg_replace($pattern, $replace, $source);
因为preg_replace被废弃了,使用preg_replace_callback替换应该怎么写啊?大侠指导一下好吗?
------解决方案--------------------
把有 /e 属性的拿出来单做 $source = preg_replace_callback(
'/{nocache}(.+?){\/nocache}/is',
create_function('$r', '{insert name=\nocache\ ' . ' . $this->_echash . ' . base64_encode($r[1]) . '}'),
$source);
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product