/** * Définit l'appendice à partir du prependice */ protected function _setAppendice() { $sUnicodeModifier = $this->_m(); $oSpaceRegex = Regex::space()->setModifiers($sUnicodeModifier); $aSpaceWords = preg_split("`({$oSpaceRegex})`{$sUnicodeModifier}", $this->_sPrependice, -1, PREG_SPLIT_DELIM_CAPTURE | PREG_SPLIT_NO_EMPTY); $aWords = $aSpaces = array(); foreach ($aSpaceWords as $iKey => $sSpaceWord) { if ($oSpaceRegex->test($sSpaceWord)) { $aSpaces[$iKey] = $sSpaceWord; } else { $aWords[$iKey] = $sSpaceWord; } } foreach ($aWords as &$sWord) { $aStringWordChars = preg_split("``{$sUnicodeModifier}", $sWord); foreach ($aStringWordChars as &$aStringWordChar) { $aStringWordChar = Mirror::char($aStringWordChar); } $sWord = implode('', array_reverse($aStringWordChars)); } $aMergedSpaceWords = self::_coordinatingMerge($aWords, $aSpaces); $this->_sAppendice = implode('', array_reverse($aMergedSpaceWords)); }