wp_parse_list()
Разбивает строку на массив значений разделенных символами ,
\t
\n
: запятая, пробел, табуляция, перенос строки.
Пустые значения полученного массива удаляются.
Если передать массив, то он будет возвращен без изменений - функция обрабатывает только строки.
- Используйте wp_parse_id_list(), когда нужно забить строку с числами, на массив уникальных чисел.
- Используйте wp_parse_slug_list(), когда нужно забить строку со строками, на массив уникальных строк.
Основа для: rest_sanitize_array(), wp_parse_id_list()
1 раз — 0.000001 сек (скорость света) | 50000 раз — 0.04 сек (скорость света) | PHP 7.2.16, WP 5.1.1
Хуков нет.
Возвращает
Массив
. Значения полученные из строки.
Использование
wp_parse_list( $list );
- $list(массив/строка) (обязательный)
- Список значений разделенных запятыми или пробелами. Если передать массив, то он вернётся без изменений.
Примеры
#1 Демонстрация работы
$str_ids = ",1 2 , foo 4 bar, 6 \n /asd/asd \r\n !@#$ \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 ) */
$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] => Волочек [8] => Газель ) */
$str = ' Первая строка Вторая Третья '; $list = wp_parse_list( $str ); /* Array ( [0] => Первая [1] => строка [2] => Вторая [3] => Третья ) */
Строка без данных или пустая строка:
$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 ) */
#2 Еще пример того как работает функция
$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 | Введена. |
Код wp_parse_list() wp parse list WP 6.7.1
function wp_parse_list( $input_list ) { if ( ! is_array( $input_list ) ) { return preg_split( '/[\s,]+/', $input_list, -1, PREG_SPLIT_NO_EMPTY ); } // Validate all entries of the list are scalar. $input_list = array_filter( $input_list, 'is_scalar' ); return $input_list; }