我正在努力使用RegExr来处理PHP注释块中的所有内容。
即
/**
* MATCH EVETHING HERE
*/
所以基本上,我希望在/**
之后直接开始并在*/
之前直接结束时匹配所有内容。
有人可以为我提供适当的RegExr。
提前致谢
编辑:已解决,其/\/\/*/*(.*?)*//s
答案 0 :(得分:1)
preg_match_all('~/**(.*?)*/~ims', $from, $to);
foreach($to[1] as $contents){
//$contents contain comment (without /** */)
}
答案 1 :(得分:0)
如果要捕获类的注释,可以使用ReflectionClass::getDocComment()
方法使用PHP的反射器机制。
示例类文件:
/**
* 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 Manual页面上,a good comment提到了这个reg exp:
$expr = "/((?:\/\*(?:[^*]|(?:\*+[^*\/]))*\*+\/)|(?:\/\/.*))/";