Преобразование строк в массив PHP

Примеры преобразования строк текста в массив по разным разделителям.

1
$text = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. 
Proin blandit magna eu tempus ullamcorper.
Sed porta justo sed nibh elementum condimentum. 
Quisque non eros sit amet elit commodo maximus eget a eros.";

$array = explode("\n", $text);
print_r($array);
PHP

Результат:

Array
(
    [0] => Lorem ipsum dolor sit amet, consectetur adipiscing elit. 
    [1] => Proin blandit magna eu tempus ullamcorper.
    [2] => Sed porta justo sed nibh elementum condimentum. 
    [3] => Quisque non eros sit amet elit commodo maximus eget a eros.
)
2
$text = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin blandit 
magna eu tempus ullamcorper! Sed porta justo sed nibh elementum condimentum. 
Quisque non eros sit amet elit commodo maximus eget a eros?";

$text = str_replace("\n", '', $text);
$array = preg_split('/(?<=[.?!])\s+(?=[a-zа-яё])/i', $text);
print_r($array);
PHP

Результат:

Array
(
    [0] => Lorem ipsum dolor sit amet, consectetur adipiscing elit.
    [1] => Proin blandit magna eu tempus ullamcorper!
    [2] => Sed porta justo sed nibh elementum condimentum.
    [3] => Quisque non eros sit amet elit commodo maximus eget a eros?
)
3
$text = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin blandit magna eu tempus ullamcorper.";

$text = preg_replace("/[^a-zа-яё0-9\s]/i", '', $text);
$array = preg_split('/(\s)/', $text);
$array = array_diff($array, array(''));

print_r($array);
PHP

Результат:

Array
(
    [0] => Lorem
    [1] => ipsum
    [2] => dolor
    [3] => sit
    [4] => amet
    [5] => consectetur
    [6] => adipiscing
    [7] => elit
    [8] => Proin
    [9] => blandit
    [10] => magna
    [11] => eu
    [12] => tempus
    [13] => ullamcorper
)
4
$text = "Lorem ipsum dolor sit amet";

$array = str_split($text);

print_r($array);
PHP

Результат:

Array
(
    [0] => L
    [1] => o
    [2] => r
    [3] => e
    [4] => m
    [5] =>  
    [6] => i
    [7] => p
    [8] => s
    [9] => u
    [10] => m
    [11] =>  
    [12] => d
    [13] => o
    [14] => l
    [15] => o
    [16] => r
    [17] =>  
    [18] => s
    [19] => i
    [20] => t
    [21] =>  
    [22] => a
    [23] => m
    [24] => e
    [25] => t
)
5

Разделители - и :

$text = "Lorem ipsum dolor sit amet-proin blandit magna eu:Sed porta justo.";

$array = preg_split('/[-|:]/u', $text, -1, PREG_SPLIT_NO_EMPTY);

print_r($array);
PHP

Результат:

Array
(
    [0] => Lorem ipsum dolor sit amet
    [1] => proin blandit magna eu
    [2] => Sed porta justo.
)

Если разделитель из нескольких символов, например <br> и </br>:

$text = "Lorem ipsum dolor sit amet,<br>proin blandit magna eu.</br>Sed porta justo.";

$array = preg_split('/(<br>)|(<\/br>)/u', $text, -1, PREG_SPLIT_NO_EMPTY);

print_r($array);
PHP

Результат:

Array
(
    [0] => Lorem ipsum dolor sit amet,
    [1] => proin blandit magna eu.
    [2] => Sed porta justo.
)
6
$text = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin blandit magna eu tempus ullamcorper.";

$chunks = 10;
$array = str_split($text);
$chunks = array_chunk($array, $chunks, false);
$result = array();
foreach ($chunks as $chunk) {
	 $result[] = implode($chunk);
}

print_r($result);
PHP

Результат:

Array
(
    [0] => Lorem ipsu
    [1] => m dolor si
    [2] => t amet, co
    [3] => nsectetur 
    [4] => adipiscing
    [5] =>  elit. Pro
    [6] => in blandit
    [7] =>  magna eu 
    [8] => tempus ull
    [9] => amcorper.
)
27.12.2020, обновлено 05.04.2022
15819

Комментарии

, чтобы добавить комментарий.

Другие публикации

Как скрыть лишний текст в блоке
Имеем несколько колонок с разным по длине текстом, нужно сделать их одинаковой высоты и скрыть лишнее.
55233
+9
Копирование текста на сайте с помощью Clipboard.js
Clipboard.js – мини плагин для копирования текста с сайта в буфер обмена, который не использует flash и JQuery.
7334
0
Текст в три колонки
Примеры, как вывести текст в три колонки одинаковой ширины и отступом между ними с помощью разных CSS-свойств.
29345
-2
Переносы строк и тег BR в PHP
В PHP за перенос текста отвечают управляющие символы r (возврат каретки) и n (перевод строки), причем в разных операционных системах (на которых работает сервер) они применяются в разных комбинациях.
49342
+4
Поиск похожих текстов в базе данных MySQL + PHP
Один из вариантов поиска похожих статей в базе данных основан на схождении слов в двух текстах.
7282
+6
Работа со строками в PHP
Обзор PHP-функций для работы со строками и практическое их применение с учетом кодировки UTF-8.
39050
+15