PHP preg_replace - anahtar olarak kullanarak bir maç diziden yedek bulma

0 Cevap php

Her yerine regex bir maç olmanın onlar kilit - Ben birden fazla maç (yüzde işaretleri ile çevrili, herhangi bir kelime) ve yedek bir dizi içeren bir dize var. Bazı kod muhtemelen daha iyi açıklayacaktır ...

$str = "PHP %foo% my %bar% in!";
$rep = array(
  'foo' => 'does',
  'bar' => 'head'
);

Istenen sonuç varlık:

$str = "PHP does my head in!"

Ben hiçbiri işe, aşağıdakileri denedim:

$res = preg_replace('/\%([a-z_]+)\%/', $rep[$1], $str);
$res = preg_replace('/\%([a-z_]+)\%/', $rep['$1'], $str);
$res = preg_replace('/\%([a-z_]+)\%/', $rep[\1], $str);
$res = preg_replace('/\%([a-z_]+)\%/', $rep['\1'], $str);

Böylece yardım için yığın taşması açın. Herhangi girenlerin?

0 Cevap