関数・クラス解説

grapheme_extract

version:PHP 5 >= 5.3.0, PHP 7, PECL intl (公式)

デフォルトの書記素クラスタシーケンスをテキストバッファから取り出す関数。 テキストは UTF-8 でエンコードされている必要があります

公式リファレンス

書式

grapheme_extract ( string $haystack , int $size [, int $extract_type [, int $start = 0 [, int &$next ]]] ) : string

説明

手続き型

デフォルトの書記素クラスタシーケンスをテキストバッファから取り出す関数です。 テキストは UTF-8 でエンコードされている必要があります。

パラメータ

haystack
検索する文字列。
size
返す項目 ($extract_type に基づく) の最大数。
extract_type
$size パラメータの単位の形式を指定します。
  • GRAPHEME_EXTR_COUNT (default) - $size は、 抽出するデフォルト書記素クラスタの数です。
  • GRAPHEME_EXTR_MAXBYTES - $size は、返すバイト数の最大値です。
  • GRAPHEME_EXTR_MAXCHARS - $size は、返す UTF-8 文字数の最大値です。
start
$haystack 内での開始位置をバイト数で指定します。 指定する場合は、0 から $haystack のバイト数までの値でなければなりません。 負の値を指定すると、$haystack の末尾からバイト数を数えます。 $start が指す位置が UTF-8 文字の先頭バイトでない場合は、 その次の文字の先頭から開始します。
next
次の開始位置への参照が設定されます。 この関数をコールすると、文字列の最後の部分の先頭バイトを指すことになります。

返値

オフセット $start から始まり、 指定した $size と $extract_type を満たす、 デフォルトの書記素クラスタバウンダリで終わる文字列を返します。

更新履歴

バージョン 説明
7.1.0 負の start をサポートするようになりました。

サンプル

例1 grapheme_extract() の例

$char_a_ring_nfd = "a\xCC\x8A";  // 'LATIN SMALL LETTER A WITH RING ABOVE' (U+00E5) normalization form "D" $char_o_diaeresis_nfd = "o\xCC\x88"; // 'LATIN SMALL LETTER O WITH DIAERESIS' (U+00F6) normalization form "D" print urlencode(grapheme_extract( $char_a_ring_nfd . $char_o_diaeresis_nfd, 1, GRAPHEME_EXTR_COUNT, 2));

上の例の出力は以下となります。

o%CC%88

参考

  • grapheme_substr() - 部分文字列を返す
  • »  Unicode Text Segmentation: Grapheme Cluster Boundaries
  • ワード検索


    ※入力キーワードが、関数名・説明文・タグに含まれるものを検索

    関数名アルファベット別

    A B C D E F G H I J
    K L M N O P Q R S T
    U V W X Y Z _

    最終更新一覧

    stristr
     大文字小文字を区別せず文字列を検索し、ヒット箇所以降(あるいは以前)の文字列を返却

    stripslashes
     バックスラッシュでエスケープされた文字列から、バックスラッシュを取り除く

    stripos
     大文字小文字を区別せずに文字列が最初に現れる位置を取得する

    stripcslashes
     addcslashes() でクォートされた文字列をアンクォートする

    strip_tags
     文字列から HTML と PHP のタグを除去して返却

    strcspn
     指定した文字が最初に現れる位置を調べる

    strcoll
     ロケールに基づいて2つの文字列を比較し同じか(あるいは大小)を判定する

    strcmp
     2つの文字列を比較し同じか(あるいは大小)を判定する

    strchr
     strstr() のエイリアス

    strcasecmp
     2つの文字列を比較(大文字小文字を区別せず同じとみなす)

    カテゴリー一覧

    PHP の振る舞いの変更
    音声フォーマットの操作
    認証サービス
    コマンドライン関連
    圧縮およびアーカイブ
    暗号
    データベース関連
    日付および時刻関連
    ファイルシステム
    自然言語および文字エンコーディング
    画像処理および作成
    メール関連
    数学
    テキスト以外の MIME 型
    プロセス制御
    その他の基本モジュール
    その他のサービス
    検索エンジン用の拡張モジュール
    サーバー固有のモジュール
    セッション関連
    テキスト処理
    変数・データ型関連
    ウェブサービス
    Windows 用のモジュール
    XML 操作
    GUI用の拡張モジュール