# _wp_scrub_utf8_fallback()

URL: https://chugunov.pro/api-wordpress/functions/_wp_scrub_utf8_fallback/
Проверено на WordPress 6.9, обновлено 06.08.2026.
Источник: независимый русскоязычный справочник chugunov.pro. Не является официальной документацией WordPress.

Тип: функция.
Появился в версии: 6.9.0.

## Сигнатура

```php
_wp_scrub_utf8_fallback( string $bytes ): string
```

## Описание

Пример:

'Pi�a' === _wp_scrub_utf8_fallback( "Pi\xF1a" ); // “ñ” is 0xF1 in Windows-1252.См. alsowp_scrub_utf8()

## Параметры

- `$bytes` `string` — обязательный. Строка в кодировке UTF-8, которая может содержать участки некорректных байтов.

## Возвращаемое значение

`string`

## Исходный код

Файл: `wp-includes/compat-utf8.php:287`

```php
function _wp_scrub_utf8_fallback( string $bytes ): string {
	$bytes_length   = strlen( $bytes );
	$next_byte_at   = 0;
	$was_at         = 0;
	$invalid_length = 0;
	$scrubbed       = '';

	while ( $next_byte_at <= $bytes_length ) {
		_wp_scan_utf8( $bytes, $next_byte_at, $invalid_length );

		if ( $next_byte_at >= $bytes_length ) {
			if ( 0 === $was_at ) {
				return $bytes;
			}

			return $scrubbed . substr( $bytes, $was_at, $next_byte_at - $was_at - $invalid_length );
		}

		$scrubbed .= substr( $bytes, $was_at, $next_byte_at - $was_at );
		$scrubbed .= "\u{FFFD}";

		$next_byte_at += $invalid_length;
		$was_at        = $next_byte_at;
	}

	return $scrubbed;
}
```

## История изменений

- 6.9.0 — Introduced.

## Связанные

Использует: [`_wp_scan_utf8`](https://chugunov.pro/api-wordpress/functions/_wp_scan_utf8/).

Оригинал в официальной документации: https://developer.wordpress.org/reference/functions/_wp_scrub_utf8_fallback/
