我有一個腳本,遞歸掃描目錄從php文件中拉出類名稱,並將這些類名稱存儲在一個數組中。即使通過相當大的Zend Framework庫文件夾,這也可以很好地工作。從PHP文件Preg_match類名
問題是擴展其他類的類沒有包含在數組中。
這裏是我當前的preg_match:
if (preg_match("/class\s*(\w*)\s*\{/i",strip_comments(file_get_contents($file)),$matches)) $classes[] = $matches[1];
我知道,最後\ S *是不正確的;應該有一些可以捕獲「{」或「擴展Some_Other_Class {」的東西。
不詳盡,但應該得到大多數理智的。請參閱這裏的註釋:http://us2.php.net/manual/en/userlandnaming.php – cbednarski 2010-05-03 05:37:30
啊,謝謝,我儘量保持它儘可能簡單,以避免在我的正則表達式中的錯誤。 – 2010-05-03 07:44:56
請注意,您的正則表達式只會返回類名的第一個字符。 – icio 2010-05-03 09:27:48