sanitize_locale_name()
云策文档标注
概述
sanitize_locale_name() 函数用于清理区域设置名称,移除所有不允许的字符,确保其符合特定格式要求。
关键要点
- 函数通过正则表达式移除所有非 A-Z、a-z、0-9、'_'、'-' 的字符。
- 返回清理后的字符串,并可通过 sanitize_locale_name 过滤器进行自定义修改。
- 该函数在 WordPress 6.2.1 版本中引入,常用于 determine_locale() 等函数中。
代码示例
function sanitize_locale_name( $locale_name ) {
// Limit to A-Z, a-z, 0-9, '_', '-'.
$sanitized = preg_replace( '/[^A-Za-z0-9_-]/', '', $locale_name );
/**
* Filters a sanitized locale name string.
*
* @since 6.2.1
*
* @param string $sanitized The sanitized locale name.
* @param string $locale_name The locale name before sanitization.
*/
return apply_filters( 'sanitize_locale_name', $sanitized, $locale_name );
}注意事项
- 参数 $locale_name 为必填字符串,表示待清理的区域设置名称。
- 返回值是清理后的字符串,可直接用于后续处理。
- 开发者可以利用 sanitize_locale_name 过滤器来调整清理逻辑。
原文内容
Strips out all characters not allowed in a locale name.
Parameters
$locale_namestringrequired-
The locale name to be sanitized.
Source
function sanitize_locale_name( $locale_name ) {
// Limit to A-Z, a-z, 0-9, '_', '-'.
$sanitized = preg_replace( '/[^A-Za-z0-9_-]/', '', $locale_name );
/**
* Filters a sanitized locale name string.
*
* @since 6.2.1
*
* @param string $sanitized The sanitized locale name.
* @param string $locale_name The locale name before sanitization.
*/
return apply_filters( 'sanitize_locale_name', $sanitized, $locale_name );
}
Hooks
- apply_filters( ‘sanitize_locale_name’, string $sanitized, string $locale_name )
-
Filters a sanitized locale name string.
Changelog
| Version | Description |
|---|---|
| 6.2.1 | Introduced. |