normalize_whitespace()
Стандартизирует (унифицирует) символы переноса строк (EOL) в переданной строке: переводит все переносы в единый вид \n
. А также, удаляет пробелы на концах и множественные пробелы.
Функция может быть полезна, например, когда нужно сравнить два контента, которые могут отличаться только пробелами или переносами строк (в том числе на концах строки).
1 раз — 0.000123 сек (быстро) | 50000 раз — 0.04 сек (скорость света)
Хуков нет.
Возвращает
Строку
. Обработанную строку.
Использование
normalize_whitespace( $str );
- $str(строка) (обязательный)
- Строка для нормализации.
Примеры
#1 Нормализация строки с пробелами
$string = 'hello world '; // 18 символов с пробелом в конце string = normalize_whitespace( $string ); //> 'hello world' // 11 символов без пробела в конце
#2 Сравнение строк
Допустим мы сделали сохранение введенного в текстовое поле контента и хотим переодически сравнивать не отличается ли он от текущего контента в поле.
$autosave_is_different = false; if( normalize_whitespace( $current_content ) !== normalize_whitespace( $saved_content ) ) { $autosave_is_different = true; }
Список изменений
С версии 2.7.0 | Введена. |
Код normalize_whitespace() normalize whitespace WP 6.6.2
function normalize_whitespace( $str ) { $str = trim( $str ); $str = str_replace( "\r", "\n", $str ); $str = preg_replace( array( '/\n+/', '/[ \t]+/' ), array( "\n", ' ' ), $str ); return $str; }