mb_substitute_character

Set/Get substitution character

Description

stringintbool mb_substitute_character(stringintnull $substitute_character = null)

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).

This setting affects mb_convert_encoding, mb_convert_variables, mb_output_handler, mb_scrub, and mb_send_mail.

Parameters

substitute_character

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 Values

If substitute_character is set, it returns true for success, otherwise returns false. If substitute_character is not set, it returns the current setting.

Changelog

Version Description
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.

Examples

Example #1 mb_substitute_character example

<?php
/* 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();
?>