繁体   English   中英

带关联数组的preg_replace

[英]preg_replace with associative array

我有这样的事情:

$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更改全名的密钥。 但这并不能完全起作用。:/您能帮上忙吗?

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

echo strtr($textile, $fabrics);

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM