* @param string $text * @return string */ public static function rlQuotes($text) { return preg_replace(self::$_QUOTES_PATTERN, self::$_QUOTES_REPLACEMENT, $text); } /** * Typography applier * @param string $text Text for handle * @param array $rules Rules array. Look TypoRules class. By default using TypoRules::$STANDARD_RULES * @return string * @throws \InvalidArgumentException */ public function typography($text, array $rules = null) { if ($rules === null) { $rules = TypoRules::$STANDARD_RULES; } if (array_diff($rules, TypoRules::$EXTENDED_RULES)) { throw new \InvalidArgumentException('Invalid typo rules'); } foreach ($rules as $rule) { $funcName = 'rl' . $rule; $text = call_user_func(array($this, $funcName), $text); } return $text; } } Typo::staticConstructor();