函数文档

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.

Return

string The sanitized value.

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.