我正在回复菜单的类别名称:
<?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']); ?>
有关于此的任何想法吗?
答案 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
));