带关联数组的preg_replace

时间:2016-11-14 19:28:01

标签: php

我有一些这样的:

$fabrics = array (
        'B' => 'BAWEŁNA',
        'P' => 'POLIESTER',
        'S' => 'SPANDEX',
        'E' => 'ELASTAN',
        'PO' => 'POLIAMID',
        'EL' => 'ELASTAN',
        'A' => 'AKRYL',
        'AN' => 'ANGORA',
        'NY' => 'NYLON',
        'W' => 'WEŁNA',
        'WO' => 'WEŁNA OWCZA',
        'POL' => 'POLIWINYL',
        'PVC' => 'PCV',
        'SZJ' => 'SZTUCZNY JEDWAB',
        'SK' => 'SKÓRA NATURALNA',
        'POP' => 'POLIPROPYLEN' 
);

$textiles = array( 'B 100%', 'B 80%, P 20%', 'NY 70%, EL 30%', 'B 75%, S 20%', 'SZJ 80%, E 20%');
// rand textilies
$textile = $textiles[array_rand($textiles)];

echo $textile.'</br>';
echo preg_replace(array_keys($fabrics), $fabrics, $textile);

我希望使用preg_replace来更改全名的密钥。但是它并没有发挥作用。:你能帮忙吗?

1 个答案:

答案 0 :(得分:2)

您的数组键不是正则表达式,它们只是普通的字符串。您可以使用strtr()

echo strtr($textile, $fabrics);

使用两个参数,第二个参数是from => to的关联数组。