Loading...
a.polyanska avatar a.polyanska 107 Точки

[Technical issue] PHP - Разделяне на стринг по регулярен израз- проблем с флаговете

Здравейте,
Опитвам се да направя входящия стринг на масив, разделен от ", ".
Когато напиша:

$categories = preg_split('/[, ]+/',$_GET["categories"]);
резултатът излиза коректно, но когато добавя:

$categories = preg_split('/[, ]+/',$_GET["categories"],PREG_SPLIT_NO_EMPTY);
ми връща масив от един елемент, състоящ се от целия стринг,
непроменен.

В документацията се казва:

"PREG_SPLIT_NO_EMPTY

If this flag is set, only non-empty pieces will be returned by preg_split()."

 

Това трябва да значи, че ако остане празен елемент в масива,той трябва да бъде премахнат, нали? Защо се получава подобен<br>проблем със сплитването, някой има ли идея?
Тагове:
1
PHP Web Development Basics 13/12/2014 21:06:28
a_rusenov avatar a_rusenov 1103 Точки
Best Answer

Трябва да сложиш -1 като трети аргумент и едва тогава PREG_SPLIT_NO_EMPTY.

$categories = preg_split('/[, ]+/', $_GET["categories"], -1, PREG_SPLIT_NO_EMPTY);

Причината е, че флагът се поставя на 4то място след лимита (-1 означава дай ми всички).

Повече: http://php.net/manual/en/function.preg-split.php

4
13/12/2014 21:09:11
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.