2016-03-24 15 views
-1

我想在我的PHP代碼中動態生成所有當前可用的字體真棒圖標,因此用戶可以選擇它。我是否需要硬編碼數組或數據庫中的所有圖標?或者有沒有什麼快捷輕便的方法來做到這一點?例如;如何在php中爲循環生成動態字體真棒圖標

<?php 
foreach($fonticons as $icon){ // $fonticons is an abstract array, It have nothing 
    echo '<i class="fa '.$icon.'"></i>'; 
} 
?> 

所以我應該得到;

<i class="fa fa-adjust"></i> 
<i class="fa fa-anchor"></i> 
<i class="fa fa-archive"></i> 
<i class="fa fa-area-chart"></i> 
<i class="fa fa-arrows"></i> 
<i class="fa fa-hand"></i>.... 

是否有可能?

我才知道,

每個字體真棒圖標具有獨特的Unicode。

例如fa-adjust unicode是F042。你可以在控制檯css中看到它爲。那麼如果設置計數器開始到F042並循環並以十六進制遞增。並在html中顯示?

我可以複製粘貼這個array並開始使用它。但我希望它是動態的。

+0

你在'$ fonticons'有什麼? –

+0

沒什麼,只是假人。 –

+1

在變量'$ fonticons'中創建一個新數組,並將所有這些圖標類/名稱放入其中。 – Jer

回答

0

是的,問題解決了,沒有必要創建陣列。我有免費的插件Font Awesome Icon Picker,它會照顧所有字體超棒的圖標列表和圖形用戶界面,併爲它提供一個帶有值的文本框,所以當表單提交時,我們會在後期獲取值。

0

因爲只有圖標的名稱是不同的,所以存儲的所有圖標的名稱爲一些陣列,並顯示這樣的..

$icons = array('0' =>'adjust' ,'1'=>'anchor'); 

foreach ($icons as $key => $res) { 
    echo '<i class="fa-'.$res.'"></i>'; 

} 
+0

我認爲這些數字是無用的哈哈,陣列可以更短,但這也是一個很好的解決方案:) – Jer

+1

hehe :)我只是編輯我的陣列,所以數字.. – santosh

+1

沒關係!這工作也是:-) – Jer

0

由於您的陣列看起來是這樣的:

$font_awesome_icons_array = array(‘fa-glass’ => ‘\f000’, ‘fa-music’ => ‘\f001’, ‘fa-search’ => ‘\f002’, .... 

你可以在foreach循環中做到這一點。

forech($font_awesome_icons_array as $key=>$value){ 
echo '<i class="fa '.$key.'"></i>'; 
} 

的放出來會是什麼樣子:

<i class="fa fa-glass"></i> 
<i class="fa fa-music"></i> 
0

您可以使用YAML解析器和處理由字體真棒git倉庫提供的icons.yml文件:

<?php 
use Symfony\Component\Yaml\Yaml; 

$yaml = Yaml::parse(file_get_contents('FONT_AWESOME_PATH/src/icons.yml')); 
$icons = $yaml['icons']; 

foreach($icons as $icon) { 
    if(empty($icon['unicode'])) { 
     continue; 
    } 
    echo '<i class="fa fa-'.$icon['id'].'"></i>'; 
}