# Функция WP_SPACES_REGEXP() в WordPress
## Что такое WP_SPACES_REGEXP()?
Функция WP_SPACES_REGEXP()
возвращает регулярное выражение (regexp), которое используется для обозначения общих символов пробелов. Она была добавлена в WordPress версии 4.0.0.
### Зачем она нужна?
По умолчанию пробелами считаются:
- перевод строки (new lines)
- табуляция (tabs)
- специальные пробелы, такие как
и символы UTF-8, представляющие неразрывный пробел.
Эта функция была введена для замены последовательности s
, которая оказалась ненадежной из-за случайного появления байта A0.
#:clock1: **О времени выполнения:**
- 1 раз — 0.000001 сек (скорость света)
- 50000 раз — 0.000001 сек (скорость света)
## Как использовать WP_SPACES_REGEXP()
Просто вызовите функцию без параметров:
```php
wp_spaces_regexp();
Пример использования
Функция wp_spaces_regexp()
позволяет создать регулярное выражение для обработки пробелов.
Пример кода
$spaces = wp_spaces_regexp(); // строка(25) "[rnt ]|xC2xA0| "
var_dump($spaces);
$text = " t footer";
$pattern = "(?:{$spaces})*foo"; // возможн��е начальные пробелы
echo preg_replace("/$pattern/", '', $text); // выводит "ter"
Что происходит в этом примере?
- Мы сохраняем регулярное выражение пробелов в переменную
$spaces
. - Мы создаем строчку
$text
, в которой есть пробелы и табуляция перед словом "footer". - Используя
preg_replace
, мы удаляем все пробелы перед словом "foo". В результате остается "ter".
Возвращаемое значение
Функция возвращает строку с регулярным выражением, которое соответствует общим символам пробелов.
Код функции
Вот как выглядит реализация функции в коде:
function wp_spaces_regexp() {
static $spaces = '';
if ( empty( $spaces ) ) {
/**
* Фильтрует regexp для общих символов пробелов.
*
* Эта строка заменяет последовательность s, когда это необходимо
* в регулярных выражениях. Для сайтов, которые не на английском языке,
* могут использоваться разные символы для обозначения пробелов. Если сайт
* не закодирован в UTF-8, последовательность 0xC2 0xA0 может не использоваться.
*
* @since 4.0.0
*
* @param string $spaces Шаблон regexp для сопоставления общих символов пробелов.
*/
$spaces = apply_filters( 'wp_spaces_regexp', '[rnt ]|xC2xA0| ' );
}
return $spaces;
}
Заключение
Функция WP_SPACES_REGEXP()
полезна для работы с пробелами в текстах. Обратите внимание на то, как используются регулярные выражения для фильтрации всей лишней разметки, которая может вызвать проблемы при обработке текста. Используйте её для повышения качества вашего контента и упрощения обработки строк в WordPress.