Замените целые ноты в строке, используя массив «найти» и массив «заменить».Php

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Замените целые ноты в строке, используя массив «найти» и массив «заменить».

Сообщение Anonymous »

У меня возникла проблема с preg_replace() при использовании массивов.
По сути, я хотел бы транспонировать эту строку:

Код: Выделить всё

$string = "Dm F Bb F Am";
Кому

Код: Выделить всё

$New_string = "F#m D D A C#m";
Вот что я делаю:

Код: Выделить всё

$Find = Array("/Dm/", "/F/", "/Bb/", "/Am/", "/Bbm/", "/A/", "/C/");
$Replace = Array('F#m', 'A', 'D', 'C#m', 'Dm', 'C#', 'E');
$New_string = preg_replace($Find, $Replace, $string);
Но вместо этого я получаю такой результат:

Код: Выделить всё

E##m E# D E# E#m
Проблема в том, что каждое совпадение заменяется следующим, происходит примерно следующее (пример для E##m):

Код: Выделить всё

Dm -> F#m -> A#m -> C##m -> E##m
Есть ли какое-нибудь решение просто изменить Dm на F#m, F на A и т. д.?


Подробнее здесь: https://stackoverflow.com/questions/123 ... lace-array
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Php»