WP_PARSE_LIST() │ WP 5.1.0
Функция WP_PARSE_LIST() очищает массив или строку, содержащую перечисленные значения, разделенные запятыми или пробелами.
Используется в:
rest_sanitize_array()wp_parse_id_list()
Возврат
Функция возвращает массив значений.
Применение
wp_parse_list( $input_list );
Параметры:
- $input_list (array|string) — обязательный параметр, который представляет собой список значений.
Примеры использования
Пример 1
$str_ids = ",1 2 , foo 4 bar, 6 n /asd/asd rn !@#$ t tab";
$ids = wp_parse_list( $str_ids );
// Результат
/*
Array
(
[0] => 1
[1] => 2
[2] => foo
[3] => 4
[4] => bar
[5] => 6
[6] => /asd/asd
[7] => !@#$
[8] => tab
)
*/
Пример 2
$str = 'M-11, М-11 some:val «Μόσχα - Αγία Πετρούπολη», വൈശ്യി, ഗാസേൽ';
$list = wp_parse_list( $str );
// Результат
/*
Array
(
[0] => M-11
[1] => М-11
[2] => some:val
[3] => «Μόσχα
[4] => -
[5] => Αγία
[6] => Πετρούπολη»
[7] => വൈശ്യി
[9] => ഗാസേൽ
)
*/
Пример 3
$str = '
First line
Second
Third
';
$list = wp_parse_list( $str );
// Результат
/*
Array
(
[0] => First
[1] => line
[2] => Second
[3] => Third
)
*/
Пример с пустой строкой
Когда строка не содержит данных или является пустой:
$ids = wp_parse_list( ',' ); // array( )
$ids = wp_parse_list( '' ); // array( )
$ids = wp_parse_list( [] ); // array( )
Пример с массивом
Если ввести массив, он останется неизменным:
$arr = [ 'foo', 5, '', 'bar' ];
$parsed = wp_parse_list( $arr );
/*
Array
(
[0] => foo
[1] => 5
[2] =>
[3] => bar
)
*/
Пример 4
$str = 'cookie-policy, privacy-policy, terms-and-conditions, nutritional-page,
campaigns/tour-virtual/, campaigns/virtual-tasting/, campaigns/sunsetdros21uk/,
campaigns/sunsetdros21uk/venues/, campaigns/sunsetdros21uk/terms-and-conditions/,
campaigns/sunsetdros21scotland/,
campaigns/sunsetdros21scotland/venues/,
campaigns/sunsetdros21scotland/terms-and-conditions/,
campaigns/easyjet/instant-win/,
campaigns/surveyuk21/';
$list = wp_parse_list( $str );
print_r( $list );
/*
Array
(
[0] => cookie-policy
[1] => privacy-policy
[2] => terms-and-conditions
[3] => nutritional-page
[4] => campaigns/tour-virtual/
[5] => campaigns/virtual-tasting/
[6] => campaigns/sunsetdros21uk/
[7] => campaigns/sunsetdros21uk/venues/
[8] => campaigns/sunsetdros21uk/terms-and-conditions/
[9] => campaigns/sunsetdros21scotland/
[10] => campaigns/sunsetdros21scotland/venues/
[11] => campaigns/sunsetdros21scotland/terms-and-conditions/
[12] => campaigns/easyjet/instant-win/
[13] => campaigns/surveyuk21/
)
*/
Изменения
Функция добавлена начиная с версии 5.1.0.
Код функции
function wp_parse_list( $input_list ) {
if ( ! is_array( $input_list ) ) {
return preg_split( '/[s,]+/', $input_list, -1, PREG_SPLIT_NO_EMPTY );
}
// Проверяем, чтобы все элементы списка были скалярными.
$input_list = array_filter( $input_list, 'is_scalar' );
return $input_list;
}
Связанные функции
wp_parse_id_list()wp_parse_slug_list()
Вспомогательные функции
__return_empty_array()__return_empty_string()__return_false()__return_null()__return_true()__return_zero()- и другие.
Используйте данную функцию для обработки списков значений в вашем проекте на WordPress. Она поможет вам легко преобразовать строки в массивы и упростит работу с данными.