(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|null过程化风格
$languageTag
, string $locale
, bool $canonicalize
= false
) : bool|null
Checks if a languageTag
filter matches with locale
according to RFC 4647's
basic filtering algorithm
languageTag
The language tag to check
locale
The language range to check against
canonicalize
If 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
.
Example #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";
?>
Example #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