【PHP8.x】mb_substitute_character関数の使い方
作成日: 更新日:
mb_substitute_character関数は、文字エンコーディングを変換する際に、変換できない不正な文字や未定義の文字をどの文字に置き換えるか(代替文字)を設定、または現在の設定値を取得するために使用される関数です。PHPのマルチバイト文字列関数は、文字エンコーディングの変換に失敗した文字を、デフォルトでは「?」(クエスチョンマーク)に置き換えます。この関数を使うことで、置き換えられる文字を任意の文字やUnicodeコードポイントに変更できます。また、引数に特殊な文字列として「none」を指定すると、代替処理を行わずにエンコーディング変換処理が失敗するようになり、エラーとして検知しやすくなります。一方、「long」を指定した場合は、「U+XXXX」といった16進数形式で文字のコードポイントが出力されます。引数を何も指定せずにこの関数を呼び出した場合は、現在設定されている代替文字の値を取得できます。この設定は、mb_convert_encoding
関数など、文字エンコーディング変換を行う他の多くのマルチバイト文字列関数に影響を与え、文字化けの制御や厳密なデータ変換処理を実現するために利用されます。
基本的な使い方
構文(syntax)
<?php
mb_substitute_character(substitute_character: "?");
引数(parameters)
string|int|null $substitute_character = null
- string|int|null $substitute_character = null: 置換文字を指定します。文字列、整数(文字コード)、またはnullを指定できます。nullを指定すると、デフォルトの置換文字が使用されます。
戻り値(return)
string|int|true
mb_substitute_character関数は、マルチバイト文字列の置換文字を設定または取得する機能を提供します。この関数は、現在設定されている置換文字を文字列として返します。指定された引数によって、置換文字の設定に成功した場合はtrue、失敗した場合はfalseを返します。