mb_substitute_character()
mb_substitute_character() — Set/Get substitution character.
Built-in function of PHP 8.5. The manual lists it as available in PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8. This page is the reference card: signature, parameters and return value, plus the changelog and the example the manual provides.
What it does
Specifies a substitution character when input character encoding is invalid or character code does not exist in output character encoding. Invalid characters may be substituted "none" (no output), string or int value (Unicode character code value).
Signature
mb_substitute_character(string|int|null $substitute_character = null): string|int|bool
Parameters
| Parameter | Type | What it takes |
|---|---|---|
| $substitute_character | string|int|null | Specify the Unicode value as an int, or as one of the following strings: "none": no output "long": Output character code value (Example: U+3000, JIS+7E7E) "entity": Output character entity (Example: Ȁ) |
Return value
If substitute_character is set, it returns true for success, otherwise returns false. If substitute_character is not set, it returns the current setting.
Example
A runnable snippet:
/* Set with Unicode U+3013 (GETA MARK) */ mb_substitute_character(0x3013); /* Set hex format */ mb_substitute_character("long"); /* Display current setting */ echo mb_substitute_character();
Changelog
| Version | Change |
|---|---|
| 8.0.0 | Passing an empty string to substitute_character is no longer supported; "none" should be passed instead. |
| 8.0.0 | encoding is nullable now. |
All PHP 8.5 built-in functions
Reference card built from the PHP manual page mb_substitute_character() (PHP documentation, CC BY 3.0). The page is generated from the manual, so the wording of the parameter and return value text follows php.net.