aboutsummaryrefslogtreecommitdiffstats
path: root/util/Doxygen_phpvarfilter.php
blob: da6cf16667521f67bfb16f1a53a1ef4121a3fb9e (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
/**
 * @file Doxygen_phpvarfilter.php
 * @brief A Doxygen INPUT_FILTER to parse \@var member variable documentation.
 *
 * An input filter for Doxygen to parse \@var class member variable documentation,
 * so it is a bit more compatible how anybody else interpretes it.
 *
 * @see http://stackoverflow.com/questions/4325224/doxygen-how-to-describe-class-member-variables-in-php/8472180#8472180
 */

$source = file_get_contents($argv[1]);

$regexp = '#\@var\s+([^\s]+)([^/]+)/\s+(var|public|protected|private)\s+(\$[^\s;=]+)#';
$replac = '${2} */ ${3} ${1} ${4}';
$source = preg_replace($regexp, $replac, $source);

echo $source;