使用 RegExr 匹配 PHP 注释块内的所有内容

发布于 2024-12-03 08:58:58 字数 285 浏览 0 评论 0原文

我正在努力使用 RegExr 处理 PHP 注释块内的所有内容。

/**
 * MATCH EVETHING HERE
 */

,基本上,我想匹配从 /** 之后直接开始并在 */ 之前结束的所有内容。

有人可以为此提供适当的 RegExr 吗?

预先感谢

编辑:已解决,其/\/\/*/*(.*?)*//s

I'm struggling to mach everything inside a PHP comment block using RegExr.

i.e.

/**
 * MATCH EVETHING HERE
 */

So basically, I want to match everything starting straight after /** and ending straight before */.

Can someone please provide me with the appropriate RegExr for that.

Thanks in advance

EDIT: solved, its /\/\/*/*(.*?)*//s

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

无敌元气妹 2024-12-10 08:58:58
preg_match_all('~/**(.*?)*/~ims', $from, $to); 

foreach($to[1] as $contents){
    //$contents contain comment (without /** */) 
}
preg_match_all('~/**(.*?)*/~ims', $from, $to); 

foreach($to[1] as $contents){
    //$contents contain comment (without /** */) 
}
二货你真萌 2024-12-10 08:58:58

如果你想捕获一个类的注释,你可以使用 PHP 的反射器机制,使用 <代码>ReflectionClass::getDocComment()方法。

示例类文件:

/** 
* A test class
*
* @param  foo bar
* @return baz
*/
class TestClass { }

反射类用法:

$rc = new ReflectionClass('TestClass');
var_dump($rc->getDocComment())

输出:

string(55) "/** 
* A test class
*
* @param  foo bar
* @return baz
*/"

提示:
在ReflectionClass手册页面上有一个很好的评论提到了这个reg经验:

    $expr = "/((?:\/\*(?:[^*]|(?:\*+[^*\/]))*\*+\/)|(?:\/\/.*))/"; 

If you want to catch the comment of an class you can use the reflector mechanisms of PHP using the ReflectionClass::getDocComment() method.

Example class file:

/** 
* A test class
*
* @param  foo bar
* @return baz
*/
class TestClass { }

Reflection class usage:

$rc = new ReflectionClass('TestClass');
var_dump($rc->getDocComment())

Outputs:

string(55) "/** 
* A test class
*
* @param  foo bar
* @return baz
*/"

Hint:
On the ReflectionClass Manual page there is a good comment mentioning this reg exp:

    $expr = "/((?:\/\*(?:[^*]|(?:\*+[^*\/]))*\*+\/)|(?:\/\/.*))/"; 
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文