首页 / PHP / 一种逆天的PHP字符串构造方法.
一种逆天的PHP字符串构造方法.
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了一种逆天的PHP字符串构造方法.,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1635字,纯文字阅读大概需要3分钟。
内容图文
虽然PHP有<<<这种多行字符串的用法,但用着不爽啊,因为最后的结束行不能有空格。看看我写的这种字符串构造方法吧,代码如下:/**把一个匿名函数的注释转换为字符串 * @param function $closure 匿名函数 * @param array $replace 替换占位字符的内容,占位字符的格式正则表现为{[0-9]+},比如{0}、{1} 其中数值对应$replace的索引 * @return string 返回匿名函数内的注释内容 */ function string($closure,$replace=NULL){ $func = new ReflectionFunction($closure); $start = $func->getStartLine() - 1; $end = $func->getEndLine() - 1; $filename = $func->getFileName(); $code=implode("", array_slice(file($filename),$start, $end - $start + 1)); $reg="/\\/\\*([^\\0]+)\\*\\//"; $match=array(); preg_match($reg,$code,$match); if(count($match)>0){ if(!$replace){ return preg_replace("/\\\\\\\/","\\",preg_replace("/\*(\\\\\/)/", "*/", trim($match[1]))); } if(count($replace)<=0){ return preg_replace("/\\\\\\\/","\\",preg_replace("/\*(\\\\\/)/", "*/", trim($match[1]))); } $tmp1=$match[1]; for($i=0;$i<count($replace);$i++){ $r=$replace[$i]; $tmp1=str_replace("{".$i."}", $r, $tmp1); } return preg_replace('/\\\\\\\/','\\',preg_replace("/\*(\\\\\/)/", "*/", $tmp1)); } return ""; }
$sql=string(function(){/* select * from table1 T1 left join table2 T2 on T2.id=T1.id where T1.id={0} && T2.name='{1}' */},array(101,"ioriliao"));
输出结果:
select * from table1 T1left join table2 T2 on T2.id=T1.idwhere T1.id=101 && T2.name='ioriliao'
版权声明:本文为博主原创文章,未经博主允许不得转载。
内容总结
以上是互联网集市为您收集整理的一种逆天的PHP字符串构造方法.全部内容,希望文章能够帮你解决一种逆天的PHP字符串构造方法.所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。