Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
0 / 0 / 0
Регистрация: 30.03.2014
Сообщений: 26

Перемена слов местами в названии товара

25.02.2016, 02:09. Показов 1112. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Приветствую!
Есть строка: 105BB - Ночник светодиодный с таймером выключения Citilux Медведь, белый

Вот как мне поменять местами элементы перед запятой, поставить перед запятой 1 и 2 элементы уже разбитой на массив строки.

Что бы получилось: Ночник светодиодный с таймером выключения Citilux Медведь - 105BB, белый

Можно было бы конечно что-то вроде
PHP
1
2
3
4
5
6
$pizza  = "piece1 piece2 piece3 piece4 piece5 piece6"; 
$pieces = explode(" ", $pizza); 
$text =$pizza;
$repl=array ($pieces[0]=>$pieces[4], $pieces[4]=>$pieces[0]);
echo "str_replace(): ".str_replace(array_keys($repl), array_values($repl), $text)."<br>";
echo "strtr(): ".strtr($text, $repl)."<br>";
но, проблема в том, что в каждой строке разное количество слов.
Потому надо отталкиваться от запятой, всё таки.
Как нибудь бы этим способом:
PHP
1
2
3
4
5
6
$s = 'Торты пирожные всё это - сладости'; 
  $p = '#([а-яё]+) - ([а-яё]+)#ui'; 
  $r = '$2 - $1'; 
  $s = preg_replace($p,$r,$s); 
  echo $s; 
?>
но что то не соображу, как...
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
25.02.2016, 02:09
Ответы с готовыми решениями:

Def и перемена слов местами
Нарисовалась драматичная проблема. Задание мое состоит в том, что используя Python нужно в заданном предложении поменять местами слова в...

Перемена местами слагаемых
#include &lt;iostream&gt; using namespace std; void main () { int a; int i,k=0,t,n,imax,imin,min=0,max=0; ...

Перемена местами текста в файле
Привет всем, Прошу помощи в решении задачи. Вообщем есть RDS.txt файл в котором есть название песни и исполнитель - Пример : ...

4
 Аватар для Lazy_Den
3325 / 2845 / 1423
Регистрация: 15.01.2014
Сообщений: 6,170
25.02.2016, 02:18
Может так:
PHP
1
2
3
<?php 
$str = '105BB - Ночник светодиодный с таймером выключения Citilux Медведь, белый';
echo preg_replace('/^([^,-]+)(\s-\s)([^,]+)(,.+)$/', '$3$2$1$4', $str);
1
Эксперт PHP
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
25.02.2016, 02:57
Без регулярок
PHP
1
2
3
4
5
6
$str = '105BB - Ночник светодиодный с таймером выключения Citilux Медведь, белый';
$parts = explode('-', $str);
$first = trim($parts[0]);
$parts = explode(',', $parts[1]);
$result = trim($parts[0]) . " - $first, " . trim($parts[1]);
echo $result;
1
0 / 0 / 0
Регистрация: 30.03.2014
Сообщений: 26
25.02.2016, 03:41  [ТС]
to: Lazy Den, Jewbacabra
Всё хорошо, но обрабатывает только эту строку, а например
PHP
1
 $str= "1202 — Абажур Citilux Oliver Монетки, белый с черным";
уже нет((
Надо что-то универсальное, потому как количество слов до запятой, везде разное.

Добавлено через 10 минут
Блин, нашел ошибку))) я скопипастил с сайта заголовок с длиным дефисом, из-за этого ваши скрипты не работали)
Поменял - всё гут!
Спасибо, парни!
+ к Вашей карме
0
Фрилансер
Эксперт PythonЭксперт JSЭксперт PHP
 Аватар для Azdeman
1871 / 1362 / 604
Регистрация: 12.01.2011
Сообщений: 5,470
25.02.2016, 22:48
PHP
1
2
3
4
5
<?php
$letters='105BB - Ночник светодиодный с таймером выключения Citilux Медведь, белый';
$a = preg_split("~-|,~",$letters);
echo $a[1].'-'.$a[0].','.$a[2];
?>
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
25.02.2016, 22:48
Помогаю со студенческими работами здесь

Перемена местами значений в типизированном файле
Опять я выхожу на связь. uses crt; label 1,2; var f1:file of integer; x,i,i1,i2,u1,u2,n:integer; begin assign(f1,...

Перемена строк местами в матрице по особому алгоритму
Задание звучит так: &quot;Дана матрица. Перенести в другую матрицу строки исходной, выстроив их в порядке возрастания среднего значения...

Перемена местами букв в слове и поиск совпадений в словаре
С горем пополам написал код для перестановки букв в введенном слове. Как сделать поиск полученных вариантов в словаре слов? Словарь русских...

Работа с двусвязным списком, поиск и перемена местами двух элементов в списке
Здравствуйте! Есть список List http://pastebin.com/tNSztz50 Не могу разобраться, как найти элемент в списке по его значению, и как...

Поменять местами слова в названии документов
Здравствуйте. Вопрос такой как поменять местами слова в названии документов? Название документов выглядит примерно так...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! */ #include <iostream> #include <stack> #include <cctype>. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru