本文整理汇总了PHP中yii\helpers\Inflector::transliterate方法的典型用法代码示例。如果您正苦于以下问题:PHP Inflector::transliterate方法的具体用法?PHP Inflector::transliterate怎么用?PHP Inflector::transliterate使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类yii\helpers\Inflector
的用法示例。
在下文中一共展示了Inflector::transliterate方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: getDispositionHeaderValue
/**
* Returns Content-Disposition header value that is safe to use with both old and new browsers
*
* Fallback name:
*
* - Causes issues if contains non-ASCII characters with codes less than 32 or more than 126.
* - Causes issues if contains urlencoded characters (starting with `%`) or `%` character. Some browsers interpret
* `filename="X"` as urlencoded name, some don't.
* - Causes issues if contains path separator characters such as `\` or `/`.
* - Since value is wrapped with `"`, it should be escaped as `\"`.
* - Since input could contain non-ASCII characters, fallback is obtained by transliteration.
*
* UTF name:
*
* - Causes issues if contains path separator characters such as `\` or `/`.
* - Should be urlencoded since headers are ASCII-only.
* - Could be omitted if it exactly matches fallback name.
*
* @param string $disposition
* @param string $attachmentName
* @return string
*
* @since 2.0.10
*/
protected function getDispositionHeaderValue($disposition, $attachmentName)
{
$fallbackName = str_replace('"', '\\"', str_replace(['%', '/', '\\'], '_', Inflector::transliterate($attachmentName, Inflector::TRANSLITERATE_LOOSE)));
$utfName = rawurlencode(str_replace(['%', '/', '\\'], '', $attachmentName));
$dispositionHeader = "{$disposition}; filename=\"{$fallbackName}\"";
if ($utfName !== $fallbackName) {
$dispositionHeader .= "; filename*=utf-8''{$utfName}";
}
return $dispositionHeader;
}