PHP str_replace()用于$ category ['name']子串

时间:2013-02-01 01:38:49

标签: php substring str-replace

我正在回复菜单的类别名称:

<?php echo $category['name']; ?>

其中'name'是一个数组:

Purina狗粮,Purina猫粮,Eukanuba狗粮,Eukanuba猫粮,...

我无法弄清楚如何使用str_replace();来阻止子食品“Dog Food”和“Cat Food”出现在菜单中。

我尝试了这个没有成功(当然):

<?php echo $category['name']; str_replace("Cat Food", "", $category['name']); ?>

有关于此的任何想法吗?

3 个答案:

答案 0 :(得分:3)

str_replace()可以将数组作为其第一个参数,并将其替换为单个值(第二个参数)。

str_replace(array('Cat Food', 'Dog Food'), '', $category['name']);

答案 1 :(得分:2)

你可以使用John Conde的答案,或者你可以使用类似的东西:

$category['name'] = preg_replace('/ (Cat|Dog) Food/i', '', $category['name']);

哪个应该用Cat / Dog Food替换所有出现的内容,您可能希望再次循环以消除重复的名称。 示例:http://codepad.viper-7.com/kj883M

答案 2 :(得分:0)

您也可以使用strtr;

$s = 'Cat Food, Dog Food';
$r = $category['name'];
echo strtr($s, array(
    'Cat Food' => $r,
    'Dog Food' => $r
));