Как разбить текст по переносу строки в php. explode() перевод строк
X
Заказать сайт
Заказать сайт

Как разбить текст по переносу строки в php. explode() перевод строк

Работая с базами данных, я иногда встречаю странные решения даже в популярных движках. Так, вместо того, чтобы в таблице для постов писать форматы картинок в JSON или хотя бы через запятую Instant cms меня удивил - все записи ссылок на картинки были через перевод строки, обычный enter.А если конкретнее, в базе было написано так:

---
small: 000/u3/000/cfcfe1d3.jpg
normal: 000/u3/000/8d9d5df6.jpg

Мне нужно было вытащить ссылку на normal формат. Казалось бы что может быть проще! Для этого надо использовать explode(), где разделителем надо взять перевод строк. Пытался ставить \n, \r\n и просто \r - но функция никак не реагировала. Поэтому здесь на помощь пришла функция nl2br(), которая все наши переводы строк преобразовала в <br>. Ну а дальше вступает в дело на эксплоде:

$im = explode('<br />', nl2br($podroww2['picture']));

Вот таким образом я смог разбить текст в массив. Обратите внимание, что nl2br создает br-ки в формате <br />. Другая запись ничего не даст. Исходная картинка оказалась в $im[2] переменной. На этом задача по разбиению текста была решена.

Далее я через for и регулярку проверял есть ли в массиве normal картинка и в зависимости от этого останавливал цикл. Конечно эту задачу можно было решить обычной регуляркой сразу, например удалив переносы строк модификатором и задать пределы поиска, но очень интересовала возможность решения через explode().

| | Как разбить текст по переносу строки в php. explode() перевод строк | Работая с базами данных, я иногда встречаю странные решения даже в популярных движках. Так, вместо того, чтобы в таблице для постов писать форматы кар | https://blogprogram.ru/wp-content/uploads/2018/01/913-131x131.jpg