工作代码:
$aString = "abcdef/*ghij*/klmn/*opqrs*/tuvwxyz";
// SIMPLE VERSION WHERE ASTERISK MAY NOT BE IN THE COMMENT
// \/\* is just escape sequence for /*
// [^\*]* - in comment may be whatever except * (asterisk)
// \*\/ is escape sequence for */
preg_match_all("#\/\*[^\*]*\*\/#", $aString, $anArray);
// BETTER VERSION
// http://www.regular-expressions.info/refadv.html - for explanation of ?: and ?!
preg_match_all("#\/\*" . "((?:(?!\*\/).)*)" . "\*\/#", $aString, $anArray);
var_dump($anArray); // easier for debugging than for-loop
输出,用于更好的版本:
array(2) {
[0]=>
array(2) {
[0]=>
string(8) "/*ghij*/"
[1]=>
string(9) "/*opqrs*/"
}
[1]=>
array(2) {
[0]=>
string(4) "ghij"
[1]=>
string(5) "opqrs"
}
}
您不要碰巧用这个解析PHP源代码中的注释块? – 2010-08-14 11:50:22
我试图建立一个php代码格式化程序来显示使用HTML的php代码 – jazzdawg 2010-08-14 11:52:12
你在尝试你的代码之前发布它吗?有一些基本的错误,例如:我 - > $我php哪些php解析器应该报告。 – 2010-08-14 11:55:05