如果字符串是...然后用图像代替它呢?(If string is … then replace it

2019-09-18 06:54发布

我有以下的代码:

<?php echo get_custom_field('Services'); ?>

这有三种可能的字符串输出:“食品”,“喝”,“食品和饮料”。

我想,以取代小图标这些字符串(如“喝”一杯)。

有没有用PHP这样做的一个简单的方法?

谢谢

Answer 1:

你可以通过一个数组中的值映射:

$items = array(
    "Food" => "plate.png",
    "Drink" => "glass.png",
    "Food & Drink" => "tray.png"
);

然后呼应图像时执行的查询:

<img src="<?php echo $items[ get_custom_field('Services') ]; ?>" />


Answer 2:

你可以使用开关:

<?php
        switch (get_custom_field('Services')) {
                case "glass":
                        echo '<img src="glass.jpg" />';
                break;
                case "drink":
                        echo '<img src="food.jpg" />';
                break;
                case "food & drink":
                        echo '<img src="food-drink.jpg" />';
                break;
                default:
                        echo '<img src="noicon.jpg" />';
        }
?>


Answer 3:

没有一个直接的答案,但我会添加一个类的(含...)元素,并使用CSS来删除文本和显示背景图片:

PHP:

<?php echo '<span class="' . $SERVICES_ID_OR_SOMETHING . '">' . get_custom_field('Services') . '</span>'; ?>

CSS:

.SERVICES_ID_OR_SOMETHING {
  background: url(/path/to/image) no-repeat left center;
  text-indent: -9999em;
}


文章来源: If string is … then replace it with an image?
标签: php wordpress