Joomla 4. Компонент K2 и форк K2ForJ4 (18 янв 2024)

Если вас, как и меня, достало выслушивать (вычитывать) бесконечные обещания разработчика K2 опубликовать версию компонента K2 под Joomla 4 (без чего невозможно реализовать апгрейд from Joomla 3 to Joomla 4) - воспользуйтесь форком K2ForJ4. Который в данный момент установлен и без каких-либо проблем работает на этом веб-сайте.

Время от времени - и не так чтобы редко - на форуме звучат вопросы по нативному PHP... решили собирать их в этой ветке.

Роллы PHP

Больше
6 года 6 мес. назад - 6 года 6 мес. назад #1 от Aleksej
Aleksej создал тему: Роллы PHP
Тема почерпнута из вопроса новичка на php.ru/forum; а решение вполне достойно того, чтобы продублировать здесь, в этом разделе. Итак, как бы вы отнеслись к необходимости из строчки

Code:
ID005 Ролл Дракон маки 380 руб. 1 = 380 ID007 Ролл Икура маки 220 руб. 3 = 220 ID008 Ролл Кавагиши 220 руб. 8 = 220 ID009 Ролл Калифорния 220 руб. 6 = 220

убрать все лишнее средствами php, оставив только идентификаторы и количество?
Быстрое решение "на коленке", в стиле студии Артемия Лебедева ("вот так это было, и вот так нам пришлось помучиться") выглядело как-то так:

Code:
<? $string = 'ID005 Ролл Дракон маки 380 руб. 1 = 380 ID007 Ролл Икура маки 220 руб. 3 = 220 ID008 Ролл Кавагиши 220 руб. 8 = 220 ID009 Ролл Калифорния 220 руб. 6 = 220'; $a = explode("ID", $string); $arr = preg_replace('/[^0-9]/', ' ', $a); $c = implode(" ",$arr); $string=preg_replace('/ {2,}/',',',$c); $array = explode(',', $string); foreach ($array as $k=>$v) { if ($k % 2 != 1) $b[] = $v; } $d = implode(" ",$b); echo $d; // 005 1 007 3 008 8 009 6


, более же компактное и грамотное решение состояло в следующем:

Code:
<? $s = 'ID005 Ролл Дракон маки 380 руб. 1 = 380 ID007 Ролл Икура маки 220 руб. 3 = 220 ID008 Ролл Кавагиши 220 руб. 8 = 220 ID009 Ролл Калифорния 220 руб. 6 = 220'; echo(rtrim(preg_replace('/ID(\d+).+?(\d+) = \d+( |$)/', '$1#$2,', $s), ',')); //005#1,007#3,008#8,009#6


Сравнение двух подходов к решению проблемы представляет интерес, мотаем на ус, а вдруг пригодится кому.
Последнее редактирование: 6 года 6 мес. назад пользователем Aleksej.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Dev banner 3
Работает на Kunena форум