소스 검색

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.
ever.zet 14 년 전
부모
커밋
a809453416
1개의 변경된 파일22개의 추가작업 그리고 2개의 파일을 삭제
  1. 22 2
      src/Symfony/Component/Console/Output/Output.php

+ 22 - 2
src/Symfony/Component/Console/Output/Output.php

@@ -180,6 +180,26 @@ abstract class Output implements OutputInterface
      */
     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.
      *
@@ -189,9 +209,9 @@ abstract class Output implements OutputInterface
      */
     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);
     }
 
     /**