Есть исходная строка Тип_разъема=AM4&Количество_ядер=4, в которой необходимо заменить AM4 и 4 на 'AM4' и '4' соответственно.
$explode = explode("&", $translate);
foreach ($explode as $key)
{
$s = explode("=", $key);
$i = 0;
foreach ($s as $k)
{
if($i % 2 == 1)
{
// echo $s[$t];
$translate = str_replace($k, "'".$k."'", $translate);
}
$i++;
// if($i == 2)
// {
// $translate = str_replace($k, "'".$k."'", $translate);
// }
}
}
Но в итоге получается вот это: Тип_разъема='AM'4''&Количество_ядер='4'. Со строкой, в которой нет повторяющихся чисел, все нормально работает. Пробовал сделать какой-то лимит для str_replace, но все равно ничего не выходит. Как можно решить эту проблему?
Если я правильно понял, то могу предложить такое, не самое красивое, но работающее решение.
<?php
$text = "Тип_разъема=AM4&Количество_ядер=4";
$text = str_replace("=" ,"='" , $text);
$text = str_replace("&" ,"'&" , $text);
$text = $text."'";
echo $text;
//Выводит
//Тип_разъема='AM4'&Количество_ядер='4'
?>
Александр Анашкин, изучайте синтаксис регулярных выражений.
$text = 'Тип_разъема=AM4&Количество_ядер=4';
echo preg_replace('~(?<==)|(?=&|$)~', '\'', $text);
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости