ability to define custom regex's for style placeholders

sometimes, developers like me want to redefine style placeholders
in their applications. From this patch, they can acchieve this from
simple get...Regex() method redefine.
This commit is contained in:
ever.zet 2011-03-12 13:54:35 +02:00
parent 49b968df67
commit a809453416

View File

@ -180,6 +180,26 @@ abstract class Output implements OutputInterface
*/ */
abstract public function doWrite($message, $newline); abstract public function doWrite($message, $newline);
/**
* Gets regex for a style start.
*
* @return string
*/
protected function getStartStyleRegex()
{
return '#<([a-z][a-z0-9\-_=;]+)>#i';
}
/**
* Gets regex for a style end.
*
* @return string
*/
protected function getEndStyleRegex()
{
return '#</([a-z][a-z0-9\-_]*)?>#i';
}
/** /**
* Formats a message according to the given styles. * Formats a message according to the given styles.
* *
@ -189,9 +209,9 @@ abstract class Output implements OutputInterface
*/ */
protected function format($message) protected function format($message)
{ {
$message = preg_replace_callback('#<([a-z][a-z0-9\-_=;]+)>#i', array($this, 'replaceStartStyle'), $message); $message = preg_replace_callback($this->getStartStyleRegex(), array($this, 'replaceStartStyle'), $message);
return preg_replace_callback('#</([a-z][a-z0-9\-_]*)?>#i', array($this, 'replaceEndStyle'), $message); return preg_replace_callback($this->getEndStyleRegex(), array($this, 'replaceEndStyle'), $message);
} }
/** /**