本文整理汇总了PHP中TYPO3\CMS\Core\Charset\CharsetConverter::conv方法的典型用法代码示例。如果您正苦于以下问题:PHP CharsetConverter::conv方法的具体用法?PHP CharsetConverter::conv怎么用?PHP CharsetConverter::conv使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类TYPO3\CMS\Core\Charset\CharsetConverter
的用法示例。
在下文中一共展示了CharsetConverter::conv方法的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: generateCacheFile
/**
* Generates the cache file.
*
* @param string $sourcePath
* @param string $languageKey
* @return array
* @throws \RuntimeException
*/
protected function generateCacheFile($sourcePath, $languageKey)
{
$LOCAL_LANG = array();
// Get PHP data
include $sourcePath;
if (!is_array($LOCAL_LANG)) {
$fileName = substr($sourcePath, strlen(PATH_site));
throw new \RuntimeException('TYPO3 Fatal Error: "' . $fileName . '" is no TYPO3 language file!', 1308898491);
}
// Converting the default language (English)
// This needs to be done for a few accented loan words and extension names
if (is_array($LOCAL_LANG['default']) && $this->targetCharset !== 'utf-8') {
foreach ($LOCAL_LANG['default'] as &$labelValue) {
$labelValue = $this->csConvObj->conv($labelValue, 'utf-8', $this->targetCharset);
}
unset($labelValue);
}
if ($languageKey !== 'default' && is_array($LOCAL_LANG[$languageKey]) && $this->sourceCharset != $this->targetCharset) {
foreach ($LOCAL_LANG[$languageKey] as &$labelValue) {
$labelValue = $this->csConvObj->conv($labelValue, $this->sourceCharset, $this->targetCharset);
}
unset($labelValue);
}
// Cache the content now:
if (isset($LOCAL_LANG[$languageKey])) {
$serContent = array('origFile' => $this->hashSource, 'LOCAL_LANG' => array('default' => $LOCAL_LANG['default'], $languageKey => $LOCAL_LANG[$languageKey]));
} else {
$serContent = array('origFile' => $this->hashSource, 'LOCAL_LANG' => array('default' => $LOCAL_LANG['default']));
}
$res = \TYPO3\CMS\Core\Utility\GeneralUtility::writeFileToTypo3tempDir($this->cacheFileName, serialize($serContent));
if ($res) {
throw new \RuntimeException('TYPO3 Fatal Error: "' . $res, 1308898501);
}
return $LOCAL_LANG;
}
示例2: ordermoveSendMail
/**
* This method converts an sends mails.
*
* @param array $mailconf Mail configuration
* @param array $orderdata Order data
* @param string $template Template
*
* @return bool of \TYPO3\CMS\Core\Mail\MailMessage
*/
protected function ordermoveSendMail(array $mailconf, array &$orderdata, &$template)
{
// First line is subject
$parts = explode(chr(10), $mailconf['plain']['content'], 2);
// add mail subject
$mailconf['alternateSubject'] = trim($parts[0]);
// replace plaintext content
$mailconf['plain']['content'] = trim($parts[1]);
/**
* Convert Text to charset
*/
$this->csConvObj->initCharset('utf-8');
$this->csConvObj->initCharset('8bit');
$mailconf['plain']['content'] = $this->csConvObj->conv($mailconf['plain']['content'], 'utf-8', 'utf-8');
$mailconf['alternateSubject'] = $this->csConvObj->conv($mailconf['alternateSubject'], 'utf-8', 'utf-8');
if (is_array($GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['commerce/Classes/Hook/class.tx_commerce_ordermailhooks.php']['ordermoveSendMail'])) {
GeneralUtility::deprecationLog('
hook
$GLOBALS[\'TYPO3_CONF_VARS\'][\'EXTCONF\'][\'commerce/Classes/Hook/class.tx_commerce_ordermailhooks.php\'][\'ordermoveSendMail\']
is deprecated since commerce 1.0.0, it will be removed in commerce 1.4.0, please use instead
$GLOBALS[\'TYPO3_CONF_VARS\'][\'EXTCONF\'][\'commerce/Classes/Hook/OrdermailHooks.php\'][\'ordermoveSendMail\']
');
foreach ($GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['commerce/Classes/Hook/class.tx_commerce_ordermailhooks.php']['ordermoveSendMail'] as $classRef) {
$hookObj = GeneralUtility::getUserObj($classRef);
if (method_exists($hookObj, 'postOrdermoveSendMail')) {
$hookObj->postOrdermoveSendMail($mailconf, $orderdata, $template);
}
}
}
if (is_array($GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['commerce/Classes/Hook/OrdermailHooks.php']['ordermoveSendMail'])) {
foreach ($GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['commerce/Classes/Hook/OrdermailHooks.php']['ordermoveSendMail'] as $classRef) {
$hookObj = GeneralUtility::getUserObj($classRef);
if (method_exists($hookObj, 'postOrdermoveSendMail')) {
$hookObj->postOrdermoveSendMail($mailconf, $orderdata, $template);
}
}
}
return Tx_Commerce_Utility_GeneralUtility::sendMail($mailconf);
}
示例3: ordermoveSendMail
/**
* This method converts an sends mails.
*
* @param array $mailconf Mail configuration
* @param array $orderdata Order data
* @param string $template Template
*
* @return bool of \TYPO3\CMS\Core\Mail\MailMessage
*/
protected function ordermoveSendMail(array $mailconf, array &$orderdata, &$template)
{
// First line is subject
$parts = explode(chr(10), $mailconf['plain']['content'], 2);
// add mail subject
$mailconf['alternateSubject'] = trim($parts[0]);
// replace plaintext content
$mailconf['plain']['content'] = trim($parts[1]);
/*
* Convert Text to charset
*/
$this->csConvObj->initCharset('utf-8');
$this->csConvObj->initCharset('8bit');
$mailconf['plain']['content'] = $this->csConvObj->conv($mailconf['plain']['content'], 'utf-8', 'utf-8');
$mailconf['alternateSubject'] = $this->csConvObj->conv($mailconf['alternateSubject'], 'utf-8', 'utf-8');
$hooks = \CommerceTeam\Commerce\Factory\HookFactory::getHooks('Hook/OrdermailHooks', 'ordermoveSendMail');
foreach ($hooks as $hook) {
if (method_exists($hook, 'postOrdermoveSendMail')) {
$hook->postOrdermoveSendMail($mailconf, $orderdata, $template);
}
}
return \CommerceTeam\Commerce\Utility\GeneralUtility::sendMail($mailconf);
}
示例4: main
//.........这里部分代码省略.........
$this->aspellEncoding = $this->defaultAspellEncoding;
}
// However, we are going to work only in the parser charset
if ($this->pspell_is_available && !$this->forceCommandMode) {
$this->pspell_link = pspell_new($this->dictionary, '', '', $this->parserCharset, $pspellModeFlag);
}
// Setting the path to main dictionary
$this->setMainDictionaryPath();
// Setting the path to user personal dictionary, if any
$this->setPersonalDictionaryPath();
$this->fixPersonalDictionaryCharacterSet();
$cmd = GeneralUtility::_POST('cmd');
if ($cmd == 'learn') {
// Only availble for BE_USERS, die silently if someone has gotten here by accident
if (TYPO3_MODE !== 'BE' || !is_object($GLOBALS['BE_USER'])) {
die('');
}
// Updating the personal word list
$to_p_dict = GeneralUtility::_POST('to_p_dict');
$to_p_dict = $to_p_dict ? $to_p_dict : array();
$to_r_list = GeneralUtility::_POST('to_r_list');
$to_r_list = $to_r_list ? $to_r_list : array();
header('Content-Type: text/plain; charset=' . strtoupper($this->parserCharset));
header('Pragma: no-cache');
if ($to_p_dict || $to_r_list) {
$tmpFileName = GeneralUtility::tempnam($this->filePrefix);
$filehandle = fopen($tmpFileName, 'wb');
if ($filehandle) {
// Get the character set of the main dictionary
// We need to convert the input into the character set of the main dictionary
$mainDictionaryCharacterSet = $this->getMainDictionaryCharacterSet();
// Write the personal words addition commands to the temporary file
foreach ($to_p_dict as $personal_word) {
$cmd = '&' . $this->csConvObj->conv($personal_word, $this->parserCharset, $mainDictionaryCharacterSet) . LF;
fwrite($filehandle, $cmd, strlen($cmd));
}
// Write the replacent pairs addition commands to the temporary file
foreach ($to_r_list as $replace_pair) {
$cmd = '$$ra ' . $this->csConvObj->conv($replace_pair[0], $this->parserCharset, $mainDictionaryCharacterSet) . ' , ' . $this->csConvObj->conv($replace_pair[1], $this->parserCharset, $mainDictionaryCharacterSet) . LF;
fwrite($filehandle, $cmd, strlen($cmd));
}
$cmd = '#' . LF;
$result = fwrite($filehandle, $cmd, strlen($cmd));
if ($result === FALSE) {
GeneralUtility::sysLog('SpellChecker tempfile write error: ' . $tmpFileName, $this->extKey, GeneralUtility::SYSLOG_SEVERITY_ERROR);
} else {
// Assemble the Aspell command
$aspellCommand = (TYPO3_OS === 'WIN' ? 'type ' : 'cat ') . escapeshellarg($tmpFileName) . ' | ' . $this->AspellDirectory . ' -a --mode=none' . ($this->personalDictionaryPath ? ' --home-dir=' . escapeshellarg($this->personalDictionaryPath) : '') . ' --lang=' . escapeshellarg($this->dictionary) . ' --encoding=' . escapeshellarg($mainDictionaryCharacterSet) . ' 2>&1';
$aspellResult = shell_exec($aspellCommand);
// Close and delete the temporary file
fclose($filehandle);
GeneralUtility::unlink_tempfile($tmpFileName);
}
} else {
GeneralUtility::sysLog('SpellChecker tempfile open error: ' . $tmpFileName, $this->extKey, GeneralUtility::SYSLOG_SEVERITY_ERROR);
}
}
flush();
die;
} else {
// Check spelling content
// Initialize output
$this->result = '<?xml version="1.0" encoding="' . $this->parserCharset . '"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
示例5: convOutputCharset
/**
* Converts input string from renderCharset to metaCharset IF the two charsets are different.
*
* @param string $content Content to be converted.
* @param string $label Label (just for fun, no function)
* @return string Converted content string.
* @todo Define visibility
*/
public function convOutputCharset($content, $label = '')
{
if ($this->renderCharset != $this->metaCharset) {
$content = $this->csConvObj->conv($content, $this->renderCharset, $this->metaCharset, TRUE);
}
return $content;
}
示例6: getSearchWords
/**
* Splits the search word input into an array where each word is represented by an array with key "sword" holding the search word and key "oper" holding the SQL operator (eg. AND, OR)
*
* Only words with 2 or more characters are accepted
* Max 200 chars total
* Space is used to split words, "" can be used search for a whole string
* AND, OR and NOT are prefix words, overruling the default operator
* +/|/- equals AND, OR and NOT as operators.
* All search words are converted to lowercase.
*
* $defOp is the default operator. 1=OR, 0=AND
*
* @param bool $defOp If TRUE, the default operator will be OR, not AND
* @return array Returns array with search words if any found
*/
public function getSearchWords($defOp)
{
// Shorten search-word string to max 200 bytes (does NOT take multibyte charsets into account - but never mind, shortening the string here is only a run-away feature!)
$inSW = substr($this->piVars['sword'], 0, 200);
// Convert to UTF-8 + conv. entities (was also converted during indexing!)
$inSW = $this->charsetConverter->conv($inSW, $this->frontendController->metaCharset, 'utf-8');
$inSW = $this->charsetConverter->entities_to_utf8($inSW);
$sWordArray = false;
if ($hookObj = $this->hookRequest('getSearchWords')) {
$sWordArray = $hookObj->getSearchWords_splitSWords($inSW, $defOp);
} else {
if ($this->piVars['type'] == 20) {
// type = Sentence
$sWordArray = array(array('sword' => trim($inSW), 'oper' => 'AND'));
} else {
$searchWords = \TYPO3\CMS\IndexedSearch\Utility\IndexedSearchUtility::getExplodedSearchString($inSW, $defOp == 1 ? 'OR' : 'AND', $this->operator_translate_table);
if (is_array($searchWords)) {
$sWordArray = $this->procSearchWordsByLexer($searchWords);
}
}
}
return $sWordArray;
}
示例7: charsetEntity2utf8
/**
* Convert character set and HTML entities in the value of input content array keys
*
* @param array $contentArr Standard content array
* @param string $charset Charset of the input content (converted to utf-8)
* @return void
*/
public function charsetEntity2utf8(&$contentArr, $charset)
{
// Convert charset if necessary
foreach ($contentArr as $key => $value) {
if ((string) $contentArr[$key] !== '') {
if ($charset !== 'utf-8') {
$contentArr[$key] = $this->csObj->conv($contentArr[$key], $charset, 'utf-8');
}
// decode all numeric / html-entities in the string to real characters:
$contentArr[$key] = $this->csObj->entities_to_utf8($contentArr[$key], true);
}
}
}
示例8: getSearchWords
/**
* Splits the search word input into an array where each word is represented by an array with key "sword"
* holding the search word and key "oper" holding the SQL operator (eg. AND, OR)
*
* Only words with 2 or more characters are accepted
* Max 200 chars total
* Space is used to split words, "" can be used search for a whole string
* AND, OR and NOT are prefix words, overruling the default operator
* +/|/- equals AND, OR and NOT as operators.
* All search words are converted to lowercase.
*
* $defOp is the default operator. 1=OR, 0=AND
*
* @param bool $defaultOperator If TRUE, the default operator will be OR, not AND
* @return array Search words if any found
*/
protected function getSearchWords($defaultOperator)
{
// Shorten search-word string to max 200 bytes (does NOT take multibyte charsets into account - but never mind,
// shortening the string here is only a run-away feature!)
$searchWords = substr($this->sword, 0, 200);
// Convert to UTF-8 + conv. entities (was also converted during indexing!)
$searchWords = $this->charsetConverter->conv($searchWords, $GLOBALS['TSFE']->metaCharset, 'utf-8');
$searchWords = $this->charsetConverter->entities_to_utf8($searchWords);
$sWordArray = false;
if ($hookObj = $this->hookRequest('getSearchWords')) {
$sWordArray = $hookObj->getSearchWords_splitSWords($searchWords, $defaultOperator);
} else {
// sentence
if ($this->searchData['searchType'] == 20) {
$sWordArray = array(array('sword' => trim($searchWords), 'oper' => 'AND'));
} else {
// case-sensitive. Defines the words, which will be
// operators between words
$operatorTranslateTable = array(array('+', 'AND'), array('|', 'OR'), array('-', 'AND NOT'), array($this->charsetConverter->conv_case('utf-8', LocalizationUtility::translate('localizedOperandAnd', 'IndexedSearch'), 'toLower'), 'AND'), array($this->charsetConverter->conv_case('utf-8', LocalizationUtility::translate('localizedOperandOr', 'IndexedSearch'), 'toLower'), 'OR'), array($this->charsetConverter->conv_case('utf-8', LocalizationUtility::translate('localizedOperandNot', 'IndexedSearch'), 'toLower'), 'AND NOT'));
$swordArray = \TYPO3\CMS\IndexedSearch\Utility\IndexedSearchUtility::getExplodedSearchString($searchWords, $defaultOperator == 1 ? 'OR' : 'AND', $operatorTranslateTable);
if (is_array($swordArray)) {
$sWordArray = $this->procSearchWordsByLexer($swordArray);
}
}
}
return $sWordArray;
}
示例9: handleCharset
/**
* Converts the subject and the expected result into utf-8.
*
* @param string $subject the subject, will be modified
* @param string $expected the expected result, will be modified
*/
protected function handleCharset(&$subject, &$expected)
{
$charsetConverter = new CharsetConverter();
$subject = $charsetConverter->conv($subject, 'iso-8859-1', 'utf-8');
$expected = $charsetConverter->conv($expected, 'iso-8859-1', 'utf-8');
}