0

我正在呼应菜单的类别名称:

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

其中“名称”是一个数组:

普瑞纳狗粮,普瑞纳猫粮,Eukanuba 狗粮,Eukanuba 猫粮,...

我不知道如何使用str_replace();来阻止子字符串“狗食”和“猫食”出现在菜单中。

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

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

对此有什么想法吗?

4

3 回答 3

3

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

str_replace(array('Cat Food', 'Dog Food'), '', $category['name']);
于 2013-02-01T01:39:53.643 回答
2

您可以使用 John Conde 的答案,也可以使用以下内容:

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

它应该用猫/狗粮替换所有出现的地方,您可能需要再次循环以消除重复的名称。示例:http ://codepad.viper-7.com/kj883M

于 2013-02-01T02:06:00.607 回答
0

你也可以使用strtr

$s = 'Cat Food, Dog Food';
$r = $category['name'];
echo strtr($s, array(
    'Cat Food' => $r,
    'Dog Food' => $r
));
于 2013-02-01T02:32:36.293 回答