[求助]ECSHOP升级中关于preg_replace问题
本人是PHP的入门者,不会。最近搭建了ECSHOP程序,但使用了PHP5.6,函数preg_replace要全部改成preg_replace_call。不会,这里摘取了几段,希望能给予帮助!!
谢谢各位大神了!!!
$out = "<?php n" . '$k = ' . preg_replace("/('\$[^,]+)/e" , "stripslashes(trim('\1','''));", var_export($t, true)) . ";n";
$val = preg_replace("/[([^[]]*)]/eis", "'.'.str_replace('$','$','\1')", $val);
$source = preg_replace_callback($pattern, function($r){return '{include file='.strtolower($r[1]). '}';}, $source);
$source = preg_replace($pattern, $reg_content, $source);
source = preg_replace('/<head>/i', "<head>rn<meta name="Generator" content="" . APPNAME .' ' . VERSION . "" />", $source);
$source = preg_replace('/<head>/i', "<head>rn<base href="". $GLOBALS['ecs']->url() ."" />", $source);
$source = preg_replace('/(<linkshref=["|'])(?:./|../)?(css/)?([a-z0-9A-Z_]+.css["|']srel=["|']stylesheet["|']stype=["|']text/css["|'])/i','1' . $tmp_dir . '23', $source);
$source = preg_replace('/(<scripts(?:type|language)=["|']text/javascript["|']ssrc=["|'])(?:./|../)?(js/[a-z0-9A-Z_-.]+.(?:js|vbs)["|']></script>)/', '1' . $tmp_dir . '2', $source);
$source = preg_replace('/<metashttp-equiv=["|']Content-Type["|']scontent=["|']text/html;scharset=(?:.*?)["|'][^>]*?>r?n?/i', '<meta http-equiv="Content-Type" content="text/html; charset=' . EC_CHARSET . '" />' . "n", $source);
$pattern = array( '/<!--[^>|n]*?({.+?})[^<|{|n]*?-->/', // 替换smarty注释 '/<!--[^<|>|{|n]*?-->/', // 替换不换行的html注释 '/(href=["|'])../(.*?)(["|'])/i', // 替换相对链接 '/((?:background|src)s*=s*["|'])(?:./|../)?(images/.*?["|'])/is', // 在images前加上 $tmp_dir '/((?:background|background-image):s*?url()(?:./|../)?(images/)/is', // 在images前加上 $tmp_dir '/(['|"])..//is', // 以../开头的路径全部修正为空 ); $replace = array( '1', '', '123', '1' . $tmp_dir . '2', '1' . $tmp_dir . '2', '1' ); return preg_replace($pattern, $replace, $source);
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
DW全站搜索替换不就解决了?
换php5.3就可以了
感谢你,你完全解决了我的问题
http://www.os688.com/diy/112910.html
PHP7.0.6的兼容包...