>  기사  >  백엔드 개발  >  preg_replace_callback函数解决方案

preg_replace_callback函数解决方案

WBOY
WBOY원래의
2016-06-13 11:50:35846검색

preg_replace_callback函数

$val = preg_replace("/\[([^\[\]]*)\]/eis", "'.'.str_replace('$','\$','\\1')", $val);

这一句 用preg_replace_callback函数怎么改写呢 求指教下 
------解决方案--------------------
$val = preg_replace_callback("/\[([^\[\]]*)\]/eis", function($match){ return str_replace('$','\$',$match)}, $val);

------解决方案--------------------
$val = preg_replace_callback(<br />        '/\[([^\[\]]*)\]/is',<br />        function ($matches) {<br />            return '.'.str_replace('$','\$',$matches[1]);<br />        },<br />        $val<br />    );<br />echo $val;

------解决方案--------------------

引用:
最后一处了 这里中间的代码 include哪一行不清楚怎么改
<br />$pattern = '/<!--\s#BeginLibraryItem\s\"\/(.*?)\"\s-->.*?<!--\s#EndLibraryItem\s-->/s';<br />$replacement = "'{include file='.strtolower('\\1'). '}'";<br />$source = preg_replace_callback($pattern, $replacement, $source);
- -

还是一样的 也还是一字符串啊 还是原来的方式就行了
------解决方案--------------------
$replacement = function ($matches) { return '{include file='.strtolower($matches[1]). '}';};
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.