PHP正则学习记录
2011-11-02 16:10
330 查看
邮箱地址:/^((http|https):\/\/)?([^\/]+)/i
文件名:/([a-z0-9\-_]+)/is (不含后缀)
以下是 phpcms v9 模版标签解析正则
文件名:/([a-z0-9\-_]+)/is (不含后缀)
以下是 phpcms v9 模版标签解析正则
public function template_parse($str) { $str = preg_replace ( "/\{template\s+(.+)\}/", "<?php include template(\\1); ?>", $str ); $str = preg_replace ( "/\{include\s+(.+)\}/", "<?php include \\1; ?>", $str ); $str = preg_replace ( "/\{php\s+(.+)\}/", "<?php \\1?>", $str ); $str = preg_replace ( "/\{if\s+(.+?)\}/", "<?php if(\\1) { ?>", $str ); $str = preg_replace ( "/\{else\}/", "<?php } else { ?>", $str ); $str = preg_replace ( "/\{elseif\s+(.+?)\}/", "<?php } elseif (\\1) { ?>", $str ); $str = preg_replace ( "/\{\/if\}/", "<?php } ?>", $str ); //for 循环 $str = preg_replace("/\{for\s+(.+?)\}/","<?php for(\\1) { ?>",$str); $str = preg_replace("/\{\/for\}/","<?php } ?>",$str); //++ -- $str = preg_replace("/\{\+\+(.+?)\}/","<?php ++\\1; ?>",$str); $str = preg_replace("/\{\-\-(.+?)\}/","<?php ++\\1; ?>",$str); $str = preg_replace("/\{(.+?)\+\+\}/","<?php \\1++; ?>",$str); $str = preg_replace("/\{(.+?)\-\-\}/","<?php \\1--; ?>",$str); $str = preg_replace ( "/\{loop\s+(\S+)\s+(\S+)\}/", "<?php \$n=1;if(is_array(\\1)) foreach(\\1 AS \\2) { ?>", $str ); $str = preg_replace ( "/\{loop\s+(\S+)\s+(\S+)\s+(\S+)\}/", "<?php \$n=1; if(is_array(\\1)) foreach(\\1 AS \\2 => \\3) { ?>", $str ); $str = preg_replace ( "/\{\/loop\}/", "<?php \$n++;}unset(\$n); ?>", $str ); $str = preg_replace ( "/\{([a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff:]*\(([^{}]*)\))\}/", "<?php echo \\1;?>", $str ); $str = preg_replace ( "/\{\\$([a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff:]*\(([^{}]*)\))\}/", "<?php echo \\1;?>", $str ); $str = preg_replace ( "/\{(\\$[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*)\}/", "<?php echo \\1;?>", $str ); $str = preg_replace("/\{(\\$[a-zA-Z0-9_\[\]\'\"\$\x7f-\xff]+)\}/es", "\$this->addquote('<?php echo \\1;?>')",$str); $str = preg_replace ( "/\{([A-Z_\x7f-\xff][A-Z0-9_\x7f-\xff]*)\}/s", "<?php echo \\1;?>", $str ); $str = preg_replace("/\{pc:(\w+)\s+([^}]+)\}/ie", "self::pc_tag('$1','$2', '$0')", $str); $str = preg_replace("/\{\/pc\}/ie", "self::end_pc_tag()", $str); $str = "<?php defined('IN_PHPCMS') or exit('No permission resources.'); ?>" . $str; return $str; }
相关文章推荐
- php学习记录(正则表达式)
- PHP中正则表达式学习及应用
- PHP正则表达式学习总结——重复/量词
- 【PHP进阶篇 未完】5.正则表达式--慕课网【学习总结】
- PHP正则表达式学习笔记(二)
- PHP中正则表达式学习及应用(三)
- php正则表达式学习(附各种案例)
- c写php扩展传参学习记录
- PHP小记:ThinkPHP学习(3)常用方法记录
- PHP输出打印变量和字符串等 学习记录
- php正则表达式学习笔记
- 正则表达式——python(学习记录)
- 学习php中的正则表达式
- 我的php学习笔记(三十三)PHP中正则表达式学习及应用(一)
- 学习PHP的一些记录(基础教程)
- php过程 uc学习 [纯记录]
- 学习PHP的过程记录(7)
- PHP学习笔记三十四【记录日志】
- 正则表达式学习记录-入门
- 正则表达式学习记录-处理选项