使用正则去除php代码中的注释方法


Posted in PHP onNovember 03, 2016

测试代码

文件:a.PHP

<?php
/**
 * 加法计算
 * 测试
 */
// 设定$a的值
$a = 10;
// 设定$b的值
$b = 5;
// 加法
$c = $a + $b;
# 输出结果
echo $c;

文件:test.php

echo "源码:<br />";
show_source('./a.php');
echo "<hr />去除注释后:<br />";
highlight_string(removeComment(file_get_contents('./a.php')));

/**
 * 去除PHP代码注释
 * @param string $content 代码内容
 * @return string 去除注释之后的内容
 */
function removeComment($content){
 return preg_replace("/(\/\*.*\*\/)|(#.*?\n)|(\/\/.*?\n)/s", '', str_replace(array("\r\n", "\r"), "\n", $content));
}

测试输出

执行test.php,输出如下:

使用正则去除php代码中的注释方法

正则分析

(\/\*.*\*\/) 匹配 /* */
(#.*?\n)  匹配 #  遇到第一个回车后结束
(\/\/.*?\n) 匹配 //  遇到第一个回车后结束

三水点靠木小编继续补充一下:

多行注释

<?php 
 
$s = '/*aaaa 
sss 
*/*/'; 
 
preg_match('@/\*.*?\*/@s', $s, $match); 
 
var_dump($match);

运行结果

array(1) {
 [0]=>
 string(15) "/*aaaa 
sss 
*/"
}

匹配单行注释

<?php 
$str = "  
a = b; //asdf //saf 
b = c; //asdf 
  "; 
$reg = '@\s*//.*$@m'; 
 
$res = preg_replace($reg,'',$str); 
 
echo $res;

输出

a = b; 
b = c;

再来一个lua版的

local test = "int x; /* xx */ xx*/ int y; /* y */" 
 
function string.gfind(test, patten) 
 local i,j = 0,0; 
 return function() 
  i,j = string.find(test, patten, j+1) 
  if(i == nil) then -- end find 
   return nil  
  end  
  return string.sub(test, i, j) 
 end  
end 
 
 
for v in string.gfind(test, "/%*.-%*/") do 
 print(v) 
end

输出
/* xx */
/* y */

phpstorm 正则匹配删除注释行(替换注释行为空行)

使用phpstorm 来编写php 和javascript 代码,感觉还是不错的,用得也很舒服。

遇到了一个需求,有时候在阅读框架源代码的时候 , 想过滤(删除)掉源代码中的注释行,如果手动逐行删除显示不够科学。

当然想到了强大的正则匹配(regExp regular expression), 通过写一个正则表达式,来查找出所有的注释行,并将其替换成空,即实现了需求。

1. ctrl + F , 输入正则表达式:(\/\/.*$)|(\/\*(.|\s)*?\*\/)

2. ctrl + R, 不输入:

3. 点击后面的 Replace all

但发现,这样并没有完全实现我们的需求,只是将注释行替换成了空行。

所以,下面我们再写一个正则表达式, 将空行匹配出来,删掉。

1.ctrl + F, 输入正则表达式: ^\n

2.ctrl + R, 不输入

3.点击后面的 Replace all

但发现,还是并没有全部删掉空行。(还有一些空行没删掉)

所以,我们继续来一个正则匹配删除。

1.ctrl + F, 输入正则表达式: \s\n

2.ctrl + R, 不输入

3.点击后面的 Replace all

好的,到这里,所有的空行全部删除。 开心一下 -:)

其实,这三步应该可以合成一步实现的,大家可以想一想!

以上就是小编为大家带来的使用正则去除php代码中的注释方法全部内容了,希望大家多多支持三水点靠木~

PHP 相关文章推荐
PHP如何得到当前页和上一页的地址?
Nov 27 PHP
使用Xdebug调试和优化PHP程序之[1]
Apr 17 PHP
PHP远程连接MYSQL数据库非常慢的解决方法
Jul 05 PHP
PHP 长文章分页函数 带使用方法,不会分割段落,翻页在底部
Oct 22 PHP
用php或asp创建网页桌面快捷方式的代码
Mar 23 PHP
PHP中基本符号及使用方法
Mar 23 PHP
php事务处理实例详解
Jul 11 PHP
PHP汉字转换拼音的函数代码
Dec 30 PHP
PHP入门教程之面向对象的特性分析(继承,多态,接口,抽象类,抽象方法等)
Sep 11 PHP
ThinkPHP 在阿里云上的nginx.config配置实例详解
Oct 11 PHP
PHP实现在对象之外访问其私有属性private及保护属性protected的方法
Nov 20 PHP
php链式操作的实现方式分析
Aug 12 PHP
php cookie 详解使用实例
Nov 03 #PHP
PHP使用curl制作简易百度搜索
Nov 03 #PHP
php 防止表单重复提交两种实现方法
Nov 03 #PHP
PHP HTTP 认证实例详解
Nov 03 #PHP
php将print_r处理后的数据还原为原始数组的解决方法
Nov 02 #PHP
php实现HTML实体编号与非ASCII字符串相互转换类实例
Nov 02 #PHP
php 使用redis锁限制并发访问类示例
Nov 02 #PHP
You might like
Ajax+PHP 边学边练 之二 实例
2009/11/24 PHP
ThinkPHP模板之变量输出、自定义函数与判断语句用法
2014/11/01 PHP
php图片处理函数获取类型及扩展名实例
2014/11/19 PHP
PHP创建/删除/复制文件夹、文件
2016/05/03 PHP
PHP进行批量任务处理不超时的解决方法
2016/07/11 PHP
javascript 关闭IE6、IE7
2009/06/01 Javascript
Prototype源码浅析 String部分(三)之HTML字符串处理
2012/01/15 Javascript
Extjs4 GridPanel的主要配置参数详细介绍
2013/04/18 Javascript
jQuery插件Echarts实现的渐变色柱状图
2017/03/23 jQuery
从零开始学习Node.js系列教程五:服务器监听方法示例
2017/04/13 Javascript
原生js实现密码输入框值的显示隐藏
2017/07/17 Javascript
jQuery EasyUI结合zTree树形结构制作web页面
2017/09/01 jQuery
使用RN Animated做一个“添加购物车”动画的方法
2018/09/12 Javascript
Vue实现回到顶部和底部动画效果
2019/07/31 Javascript
三步实现ionic3点击退出app程序
2019/09/17 Javascript
基于vue.js实现购物车
2020/01/15 Javascript
原生JS封装拖动验证滑块的实现代码示例
2020/06/01 Javascript
[01:32:10]NAVI vs VG Supermajor 败者组 BO3 第一场 6.5
2018/06/06 DOTA
Python中asyncio模块的深入讲解
2019/06/10 Python
Pandas中Series和DataFrame的索引实现
2019/06/27 Python
OpenCV3.0+Python3.6实现特定颜色的物体追踪
2019/07/23 Python
pyinstaller打包opencv和numpy程序运行错误解决
2019/08/16 Python
Python爬虫运用正则表达式的方法和优缺点
2019/08/25 Python
python多线程实现代码(模拟银行服务操作流程)
2020/01/13 Python
python+requests实现接口测试的完整步骤
2020/10/27 Python
机械专业毕业生推荐信范文
2013/11/25 职场文书
农民工创业典型事迹
2014/01/25 职场文书
教师节促销活动方案
2014/02/14 职场文书
毕业自我鉴定怎么写
2014/03/25 职场文书
医学专业大学生求职信
2014/07/12 职场文书
青春飞扬演讲稿
2014/09/11 职场文书
国际贸易本科毕业生求职信
2014/09/26 职场文书
事业单位聘任报告
2015/03/02 职场文书
装配车间主任岗位职责
2015/04/08 职场文书
离婚上诉状范文
2015/05/23 职场文书
读《推着妈妈去旅行》有感1500字
2019/10/15 职场文书