2012-06-19 20 views
2

我有下面的代碼:如果字符串是...則用圖像替換它?

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

有此三種可能的字符串輸出:「食物」,「飲料」,「食品飲料&」。

我想用小圖標替換這些字符串(例如用於「飲料」的玻璃杯)。

有沒有一種簡單的方法來做到這一點與PHP?

感謝

回答

4

你可以通過數組映射值:

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

然後呼應圖像時進行的查找:

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

工程,很棒。謝謝! – user1444027

1

你可以使用開關:

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

不是一個直接的答案,但我會添加一個類的(含...)元素,並使用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; 
} 
+2

這對使用屏幕閱讀器的人也很有幫助。 – jprofitt

+0

@jeroen這應該是一條評論。 – Sampson

+0

@Jonathan Sampson這是一個替代方案 - 在我看來更好 - 解決OP所面臨的問題。 – jeroen

相關問題