[PHP] Występowanie koło siebie dwóch znaków

0

Mam taką przykładową tablicę:

$tablica1=Array('a','b','c','d','h');
$tablica2=Array('A','C','B','H','D');

Jak najprościej i żeby było najszybciej to zrobić że jeśli pojawią się w jakimś stringu dwa znaki z pierwszej tabeli koło siebie to je zamienić na odpowiedniki z drugiej tabeli.
Np mam ciąg:
<font color=darkblue>'gjfiohfdvpabfgkfcdopirhckoda'</font>
i po wykonaniu funkcji miałby się on zamienić na:
<font color=darkblue>'gjfiohfdvp<font color=blue>AC</font>fgkf<font color=blue>BH</font>opir<font color=blue>DC</font>ko<font color=blue>HA</font>'</font>

0

pisze z głowy więc niektóre funkcje PHP mogą inaczej brzmieć, ale chodzi o sens

function compare($str)
{
  for ($x=0; $x<str_len($str)-1);$x++)
  {
// funkcja sprawdza czy znak jest w $tablica1 zwraca numeri ndexu jest 
// chyba jakaś standardowa trzeba sprawdzic:

     indx1 = is_in_tab($tablica1,str_substring($str,$x,1)); 
     indx2 = is_in_tab($tablica2,str_substring($str,$x+1,1));
     if ((indx2-indx1)==1)
     {
        $str[indx1] = $tablica1[indx1];
        $str[indx2] = $tablica1[indx2];
     }
 }
}
0

no działa, dzięki, może być tak (po małych zmianach oczywiście, ale ogólnie pomysł ten sam)

1 użytkowników online, w tym zalogowanych: 0, gości: 1