Quantcast
Channel: Форум программистов и сисадминов Киберфорум
Viewing all articles
Browse latest Browse all 517363

Перемена слов местами в названии товара - PHP для начинающих

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

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

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

Можно было бы конечно что-то вроде
$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>";

но, проблема в том, что в каждой строке разное количество слов.
Потому надо отталкиваться от запятой, всё таки.
Как нибудь бы этим способом:
$s = 'Торты пирожные всё это - сладости';
$p = '#([а-яё]+) - ([а-яё]+)#ui';
$r = '$2 - $1';
$s = preg_replace($p,$r,$s);
echo $s;
?>

но что то не соображу, как...

Viewing all articles
Browse latest Browse all 517363

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>