*/
public function getPatterns()
{
- $regexp = array('/^#.*$\n/m' => '',
- '/^([^#]*)#.*$/m' => '$1',
- '/%([A-Za-z_]+)%/e' => 'getenv("$1")');
- return array('regexp' => $regexp);
+ $regexp = array(
+ '/^#.*$\n/m' => '',
+ '/^([^#]*)#.*$/m' => '$1'
+ );
+
+ $regexp_callback = array(
+ '/%([A-Za-z_]+)%/e' => array($this, 'regexCallback')
+ );
+
+ return array(
+ 'regexp' => $regexp,
+ 'regexp_callback' => $regexp_callback
+ );
+ }
+
+ /**
+ * Preg callback.
+ *
+ * @param array $matches preg_replace_callback() matches.
+ *
+ * @return string The replacement string.
+ */
+ public function regexCallback($matches)
+ {
+ return getenv($matches[1]);
}
}