Locale::filterMatches

locale_filter_matches

言語タグフィルタがロケールにマッチするかどうかを調べる

説明

オブジェクト指向型

public static boolnull Locale::filterMatches(string $languageTag, string $locale, bool $canonicalize = false)

手続き型

boolnull locale_filter_matches(string $languageTag, string $locale, bool $canonicalize = false)

languageTag フィルタが locale でマッチするかどうかを RFC 4647 の基本フィルタリングアルゴリズムで調べます。

パラメータ

languageTag

調べたい言語タグ。

locale

調べる対象となる言語の範囲。

canonicalize

true の場合は、引数を正式な形式に変換してからマッチを行います。

戻り値

localelanguageTag にマッチする場合に true、 それ以外の場合に false を返します。

locale の長さが INTL_MAX_LOCALE_LEN を超えた場合、null を返します。

例1 locale_filter_matches の例

<?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 オブジェクト指向の例

<?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

参考

  • locale_lookup