Here's a function for "multi" exploding a string.
<?php
//the function
//Param 1 has to be an Array
//Param 2 has to be a String
function multiexplode ($delimiters,$string) {
$ary = explode($delimiters[0],$string);
array_shift($delimiters);
Here's a function for "multi" exploding a string.
<?php
//the function
//Param 1 has to be an Array
//Param 2 has to be a String
function multiexplode ($delimiters,$string) {
$ary = explode($delimiters[0],$string);
array_shift($delimiters);
[1] => Array
(
[0] => 4
[1] => 5
)
[2] => Array
(
[0] => 6
)
)
[1] => Array
(
[0] => Array
(
[0] => 7
[1] => 8
[2] => 9
[3] => 0
)
[1] => Array
(
[0] => 1
)
)
)
[1] => Array
(
[0] => Array
(
[0] => Array
(
[0] => 2
)
)
[1] => Array
&nb.
[1] => Array
(
[0] => 5
)
)
)
)
*/
php.net
Пример использования PHP метода explode:
В этом примере мы объявили строковую переменную и присвоили ей номер телефона следующего формата:
001-234-567678
После этого применили метод explode для разбиения строки с помощью дефиса (тире) в качестве разделителя. Возвращенный массив строк присвоили массиву.
Затем использовали цикл fогеасh для отображения значений элементов массива, которые являются подстроками номера телефона. Поскольку параметр limit не указан, весь номер телефона будет разбит на три подстроки:
Посмотреть демо и код
В этом примере PHP explode переноса строки использован пробел в качестве разделителя. Для примера возьмем это строку:
This is explode tutorial that enables string split in PHP.
В примере снова не используется параметр limit. После создания строки мы применили метод explode для ее разбиения. Затем использовали цикл fогеасh для отображения возвращаемых элементов массива.
Наконец, применили функцию count() для вывода количества подстрок в массиве:
Посмотреть демо и код
Это пример, описанный выше, за исключением того, что здесь мы использовали параметр limit для указания количества разбиений в строке. Ниже показана строка, которая была использована:
This is explode tutorial that enables string split in PHP.
В PHP explode примере, когда мы использовали пробел в качестве разделителя, было возвращено всего 10 подстрок. На этот раз с помощью параметра limit было определено 5 разбиений:
Посмотреть демо и код
На демонстрационной странице отображаются только пять подстрок, при этом последняя включает всю оставшуюся часть строки. Общее количество элементов массива также 5, а не 10, как в приведенном выше примере.
Метод explode (PHP split) используется для разбиения заданной строки. Допустим, что веб-форма принимает телефонный номер с кодом страны и области в следующем формате:
001-234-567678
Нам нужно отделить код страны и области, которые разделены дефисом. Для разбиения телефонного номера можно воспользоваться explode с разделителем дефисом (тире) после принятия номера в качестве входного параметра.
Поскольку explode возвращает массив подстрок, метод explode разобьет номер в следующий массив элементов:
В функции PHP explode можно указать три параметра. Последний из них — необязательный, так как указывать количество разбиений (максимальное количество подстрок) необязательно.
Описание каждого параметра:
$array_name = explode ($delimiter, $string_to_split, $no_of_breaks)
Также можно использовать пробел, запятые или другие слова в качестве $ delimiter.
Если в explode array PHP аргумент limit является положительным, возвращаемый массив будет содержать максимальное количество элементов, при этом последний элемент будет содержать остаток строки.
Также можно использовать отрицательное значение. В этом случае все подстроки (кроме последней) будут возвращены.
Поскольку explode возвращает массив подстрок, то можно присвоить его массиву. После применения метода можно использовать цикл fогеаch, чтобы перебрать массив элементов, как показано в приведенных выше примерах.
Примечание: Также можно использовать метод str_split для преобразования строки в массив.
Перевод статьи “PHP explode method to split a string with 3 examples” был подготовлен дружной командой проекта Сайтостроение от А до Я.
www.internet-technologies.ru
searchengines.guru
Если возможностей explode()
недостаточно, то можно использовать более мощную функцию: preg_split (). Она позволяет разбить строку не по фиксированному набору символов, а по регулярному выражению.
Пример из документации:
// разбиваем строку по произвольному числу запятых и пробельных символов, // которые включают в себя " ", r, t, n и f $keywords = preg_split("/[s,]+/", "hypertext language, programming"); print_r($keywords);
Результат:
/* Array ( [0] => hypertext [1] => language [2] => programming ) */
Функция str_split()
преобразует строку в массив, разбивая ее на элементы с заданным количеством символов. Хотите узнать как ее использовать? Посмотрите документацию.
Пример:
$str = "Hello Friend"; $arr2 = str_split($str, 3); print_r($arr2)
Результат:
Array ( [0] => Hel [1] => lo [2] => Fri [3] => end )
Есть еще функция strtok()
. Она позволит задать набор из нескольких символов-разделителей, для разделения строки по словам: читать подробнее про strok.
phpstack.ru