PHP Как перенести строку по второй запятой

149
28 ноября 2018, 23:10

Есть текст №2 (644) 19 августа, пятница, 2018 год

$mytext = "№2 (644) 19 январь, пятница, 2018 год";
$mytext = str_replace(',', ",\r\n", $mytext);
$mytext = str_replace(')', ")\r\n", $mytext);
echo nl2br($mytext);

Сейчас получается так

№2 (644)
19 августа,
пятница,
2018 год

Вопрос такой как сделать перенос строки не всех запятых а только второго ну или последнего, или с конца первого =)

что бы получилось вот так

№2 (644)
19 августа, пятница,
2018 год
Answer 1

Можно с помощью регулярных выражений:

$mytext = "№2 (644) 19 январь, пятница, 2018 год";
$mytext = preg_replace('~(\d{1,2}\s\pL+)|(\d{4}\s\pL{3,4})$~u', "\r\n$1$2", $mytext);
echo $mytext;

Результат:

№2 (644) 
19 январь, пятница, 
2018 год

См.демо

READ ALSO
Оптимизация запроса My SQL

Оптимизация запроса My SQL

Решил заняться оптимизацией запросов на интернет-магазине, ибо в таблице товаров уже порядка 15000 наименований, и загрузка страницы стала...

164
Можно ли писать на С++ со сборщиком мусора?

Можно ли писать на С++ со сборщиком мусора?

Пишу на С/С++, но вижу, что языки со сборкой мусора набирают популярностьОпять же надоело искать утечки памяти

143
Изменение значения параметра объекта в QML из потока

Изменение значения параметра объекта в QML из потока

Есть qml файл в котором нарисован датчик, содержимое примерно такое:

171