function coder_replace_multiple_vars in Coder 5
Same name and namespace in other branches
- 5.2 scripts/coder_format/coder_format.inc \coder_replace_multiple_vars()
- 6.2 scripts/coder_format/coder_format.inc \coder_replace_multiple_vars()
- 6 scripts/coder_format/coder_format.inc \coder_replace_multiple_vars()
Related topics
1 string reference to 'coder_replace_multiple_vars'
- coder_postprocessor_multiple_vars in scripts/
coder_format/ coder_format.inc
File
- scripts/
coder_format/ coder_format.inc, line 901
Code
function coder_replace_multiple_vars($matches) {
// Retrieve all variable name = variable value pairs
preg_match_all('/^(\\s*)(\\$.+?) (.?)= (.+?$)/m', $matches[0], $vars, PREG_SET_ORDER);
// Determine the longest variable name
$maxlength = 0;
foreach ($vars as $var) {
if (strlen($var[2]) > $maxlength) {
$maxlength = strlen($var[2] . $var[3]);
}
}
// Realign variable values at the longest variable names
$return = '';
$extra_spaces = 0;
for ($c = 0, $cc = count($vars); $c < $cc; ++$c) {
if ($maxlength <= 20) {
$extra_spaces = $maxlength - strlen($vars[$c][2] . $vars[$c][3]);
}
$return .= $vars[$c][1] . $vars[$c][2];
$return .= str_repeat(' ', $extra_spaces) . ' ' . $vars[$c][3] . '= ';
$return .= $vars[$c][4];
if ($c < $cc - 1) {
// Append a line break, but not to the last variable assignment
$return .= "\n";
}
}
return $return;
}