php 可以匹配"函数","类"么?求实现

2015-08-11 15:34:55 +08:00
 bridge45

<?php
$str = <<<EOT
function a(){
echo 'fun a';
}

function b($b){
echo 'b';
}

function c($c){
if($c == 1){
echo 'c1';
}else{
echo 'c2';
}
}
EOT;

要到达的效果如下:
将字符串$str里面的三个函数分离出来存到数组里面去,有什么好的兼容性高的正则匹配方法么?(类同理)
谢谢大家

2382 次点击
所在节点    PHP
2 条回复
oott123
2015-08-11 17:32:07 +08:00
这应该是个 tokenizer 做的事情?
token_get_all
msg7086
2015-08-12 00:35:40 +08:00
说个正则以外的办法:

https://github.com/nikic/PHP-Parser PHP语法分析器。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/212402

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX