为了账号安全,请及时绑定邮箱和手机立即绑定

PHP 正则怎样获取php文件内的注释内容?

PHP 正则怎样获取php文件内的注释内容?

PHP
江户川乱折腾 2019-03-10 14:06:11
如图所示,我想要将注释拿下来生成api文档,各位大神帮帮忙!!!
查看完整描述

7 回答

?
喵喵时光机

TA贡献1846条经验 获得超7个赞

/\*([\s\S]*?)\*/
查看完整回答
反对 回复 2019-03-18
?
米脂

TA贡献1836条经验 获得超3个赞

根据 @老鼠拧刀满街找猫 提供的正则改的,生成txt文件的api文档。

正则: /(\/\*{2})([\s\S]*)(\*\/)/U

        $data = file_get_contents(dirname(__FILE__)."/WorkController.class.php");
        preg_match_all('/(\/\*{2})([\s\S]*)(\*\/)/U',$data,$match);
        $file=fopen("api.txt","a");

        foreach ($match[0] as $ma){
            preg_match_all("/@.*?/U",$ma,$da);
            fwrite($file,"===================\r\n");
           foreach ($da[0] as $d){
               fwrite($file,$d."\r\n");
           }
            fwrite($file,"===================\r\n\r\n\r\n");
        }

        fclose($file);
查看完整回答
反对 回复 2019-03-18
?
慕尼黑5688855

TA贡献1848条经验 获得超2个赞

推荐你直接使用swagger吧

查看完整回答
反对 回复 2019-03-18
?
犯罪嫌疑人X

TA贡献2080条经验 获得超4个赞

反射就行了,然后取到注释之后,再使用正则提取你想要的各部分内容

查看完整回答
反对 回复 2019-03-18
?
慕容3067478

TA贡献1773条经验 获得超3个赞

如果是这种/xxx/多行注释,直接

<?php
$code = file_get_contents('index.php');
if (preg_match_all('|/\*(.*)\*/|isU', $code, $matches)){
    print_r($matches);
}

https://img1.sycdn.imooc.com//5c8f55d90001307e08000733.jpg

目测无问题

查看完整回答
反对 回复 2019-03-18
?
蝴蝶不菲

TA贡献1810条经验 获得超4个赞

phpdoc

查看完整回答
反对 回复 2019-03-18
  • 7 回答
  • 0 关注
  • 1100 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信