(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL intl >= 1.0.0)
Locale::filterMatches -- locale_filter_matches — Checks if a language tag filter matches with locale
面向对象风格
$languageTag, string $locale, bool $canonicalize = false): ?bool过程化风格
$languageTag, string $locale, bool $canonicalize = false): ?bool
   Checks if a languageTag filter matches with locale according to RFC 4647's
   basic filtering algorithm
  
languageTagThe language tag to check
localeThe language range to check against
canonicalizeIf true, the arguments will be converted to canonical form before matching.
   true if locale matches languageTag false otherwise.
  
Returns null when the length of locale exceeds INTL_MAX_LOCALE_LEN.
示例 #1 locale_filter_matches() example
<?php
echo (locale_filter_matches('de-DEVA','de-DE', false)) ? "Matches" : "Does not match";
echo '; ';
echo (locale_filter_matches('de-DE_1996','de-DE', false)) ? "Matches" : "Does not match";
?>
示例 #2 OO example
<?php
echo (Locale::filterMatches('de-DEVA','de-DE', false)) ? "Matches" : "Does not match";
echo '; ';
echo (Locale::filterMatches('de-DE-1996','de-DE', false)) ? "Matches" : "Does not match";
?>
以上例程会输出:
Does not match; Matches