(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)
Locale::filterMatches -- locale_filter_matches — Checks if a language tag filter matches with locale
Объектно-ориентированный стиль
$langtag
   , string $locale
   [, bool $canonicalize = false
  ] )Процедурный стиль
$langtag
   , string $locale
   [, bool $canonicalize = false
  ] )Checks if a $langtag filter matches with $locale according to RFC 4647's basic filtering algorithm
langtagThe 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 $langtag FALSE otherwise.
  
Пример #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