我在php5.5上部署了ecshop出现了问题是:
Warning: preg_replace_callback(): Modifier /e cannot be used with replacement callback in E:\Program Files\xampps\htdocs\upload\includes\cls_template.php on line 1073我的对应的代码是: /* 将模板中所有library替换为链接 */
$pattern = '/<!--\s#BeginLibraryItem\s\"\/(.*?)\"\s-->.*?<!--\s#EndLibraryItem\s-->/se'; $replacement = function($matches) { return '{include file='.strtolower($matches[1]). '}';};
$source = preg_replace_callback($pattern, $replacement, $source); 本来我以为只用将preg_replace改成preg_replace_callback就可以了。
之后我在网上找的说第二个值也就是这个:$replacement是需要函数的(也就是方法)。我把它提取出来也没有用。
还是希望各位大虾帮忙解决下,谢谢!
Warning: preg_replace_callback(): Modifier /e cannot be used with replacement callback in E:\Program Files\xampps\htdocs\upload\includes\cls_template.php on line 1073我的对应的代码是: /* 将模板中所有library替换为链接 */
$pattern = '/<!--\s#BeginLibraryItem\s\"\/(.*?)\"\s-->.*?<!--\s#EndLibraryItem\s-->/se'; $replacement = function($matches) { return '{include file='.strtolower($matches[1]). '}';};
$source = preg_replace_callback($pattern, $replacement, $source); 本来我以为只用将preg_replace改成preg_replace_callback就可以了。
之后我在网上找的说第二个值也就是这个:$replacement是需要函数的(也就是方法)。我把它提取出来也没有用。
还是希望各位大虾帮忙解决下,谢谢!
解决方案 »
- php的生成的伪静态页面不显示
- mysql定时备份 在windows上
- 求助!! 我想做个小偷程序,哪位朋友可以帮帮我
- memcached如果在add后立即get,有时候获取不到
- mediawiki 添加发邮件功能的思路?
- 形成多维数组的问题
- centos apache,不能解析二级域名,跪求大神
- 请教下这个网站是用哪个开源代码做的?(知道的可以合作下, 价钱好商量)
- 加了mysql_query('set names utf8'); 不执行sql
- ecshop购物系统,求一个属性调用代码!
- 怎么使用cookie做浏览记录,求大神指导,跪求。
- 数据查询效率好慢 用的thinkphp 11万数据用时0.09
去掉 e 模式!如果你不能确定 $replacement 的写法是否正确,请贴出原来的 preg_replace 语句
$pattern = '/<!--\s#BeginLibraryItem\s\"\/(.*?)\"\s-->.*?<!--\s#EndLibraryItem\s-->/se';
$replacement = "'{include file='.strtolower('\\1'). '}'";
$source = preg_replace($pattern, $replacement, $source);原句是这样的,本来原句提示的错误是,没有在preg_replace后面加callback,加了之后,说$replacement需要是函数调用,我就改成这样了。 麻烦了
$pattern = '/<!--\s#BeginLibraryItem\s\"\/(.*?)\"\s-->.*?<!--\s#EndLibraryItem\s-->/se';
$replacement = "'{include file='.strtolower('\\1'). '}'";
$source = preg_replace($pattern, $replacement, $source);
echo $source;
{include file=(xx-xxx)}改后的$source = '<!-- #BeginLibraryItem "/(XX-XXX)" -->12345<!-- #EndLibraryItem -->';
$pattern = '/<!--\s#BeginLibraryItem\s\"\/(.*?)\"\s-->.*?<!--\s#EndLibraryItem\s-->/s';
$replacement = function($m) { return '{include file='.strtolower($m[1]). '}';};
$source = preg_replace_callback($pattern, $replacement, $source);
echo $source;
{include file=(xx-xxx)}