Если строка … затем замените ее на изображение?

У меня есть следующий код:

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

Для этого есть три возможных строковых выхода: «еда», «напиток», «еда и напитки».

Я хотел бы заменить эти строки маленькими значками (например, стакан для «напитка»).

Есть ли простой способ сделать это с PHP?

благодаря

Вы можете сопоставить значения через массив:

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

Затем выполните ваш поиск при повторении изображения:

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

Вы можете использовать переключатель:

 <?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" />'; } ?> 

Не прямой ответ, но я бы добавил класс к элементу (содержащий …) и использовал 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; }