如何使用preg_replace_callback()改写这个函数?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了如何使用preg_replace_callback()改写这个函数?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1562字,纯文字阅读大概需要3分钟。
内容图文
![如何使用preg_replace_callback()改写这个函数?](/upload/InfoBanner/zyjiaocheng/236/20b02c14da094087a2214f30bbe0da52.jpg)
/e
修饰符已经被弃用了。然后不知道怎么改写
$source_content = preg_replace($search.'e', "'"
. $this->_quote_replace($this->left_delimiter) . 'php'
. "' . str_repeat(\"\n\", substr_count('\\0', \"\n\")) .'"
. $this->_quote_replace($this->right_delimiter)
. "'"
, $source_content);
求大神指教
回复内容:
最近的项目,在更新完PHP以后发现preg_replace()在5.5.0版本起/e
修饰符已经被弃用了。然后不知道怎么改写
$source_content = preg_replace($search.'e', "'"
. $this->_quote_replace($this->left_delimiter) . 'php'
. "' . str_repeat(\"\n\", substr_count('\\0', \"\n\")) .'"
. $this->_quote_replace($this->right_delimiter)
. "'"
, $source_content);
求大神指教
是preg_replace()
的/e
模式被废弃了,不是preg_replace()
被废弃了好么!!请不要以偏概全的说话!!搞得我一开始都吓尿了,还以为PHP特么怎么这么随便呢。
preg_replace_callback()
不是很简单么,就是用函数替换了用eval
执行字符串啊。不过说老实话没怎么看明白你的替换执行函数到底要干嘛,好像是要根据换行符的个数重新写一遍换行??写个参考给你吧:
$source_content = preg_replace_callback($search, function($matches) {
return str_repeat("\n", substr_count($matches[0], "\n");
}, $cource_content);
函数的$matches
参数就是你的$search
匹配得到的结果,如果还是不懂还是看看手册吧,手册上已经写的很全了。
这里是smarty官方给出的答案:
$source_content = preg_replace_callback($search, create_function ('$matches', "return '"
. $this->_quote_replace($this->left_delimiter) . 'php'
. "' . str_repeat(\"\n\", substr_count('\$matches[1]', \"\n\")) .'"
. $this->_quote_replace($this->right_delimiter)
. "';") , $source_content);
内容总结
以上是互联网集市为您收集整理的如何使用preg_replace_callback()改写这个函数?全部内容,希望文章能够帮你解决如何使用preg_replace_callback()改写这个函数?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。