如何在php for循环中生成动态字体真棒图标
How to generate dynamic font awesome icon in php for loop
我想在我的 php 代码中动态生成所有当前可用的超赞字体图标,以便用户可以 select 它。我是否需要对数组或数据库中的所有图标进行硬编码?还是有任何快捷的轻量级方法来做到这一点?例如;
<?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>....
可能吗?
我才知道,
every font awesome icon has a unique unicode.
例如 fa-adjust
unicode 是 F042
。你可以在控制台 css 中看到它为 。那么如果设置计数器开始 F042
并循环并以十六进制递增它呢?并在 html?
中显示
我可以复制粘贴这个 array 并开始使用它。但我希望它是动态的。
因为只有图标的名称不同,所以将所有图标的名称存储到某个数组中并像这样显示..
$icons = array('0' =>'adjust' ,'1'=>'anchor' );
foreach ($icons as $key => $res) {
echo '<i class="fa-'.$res.'"></i>';
}
因为你的数组看起来像这样:
$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>
是,问题已解决,无需创建数组。我有免费的插件 Font Awesome Icon Picker,它负责处理所有很棒的字体图标列表和 GUI,它提供了一个包含值的文本框,因此当表单提交时,我们在 post.[=11 中获取值=]
您可以使用 yaml 解析器并处理 font awesome 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>';
}
我想在我的 php 代码中动态生成所有当前可用的超赞字体图标,以便用户可以 select 它。我是否需要对数组或数据库中的所有图标进行硬编码?还是有任何快捷的轻量级方法来做到这一点?例如;
<?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>....
可能吗?
我才知道,
every font awesome icon has a unique unicode.
例如 fa-adjust
unicode 是 F042
。你可以在控制台 css 中看到它为 。那么如果设置计数器开始 F042
并循环并以十六进制递增它呢?并在 html?
我可以复制粘贴这个 array 并开始使用它。但我希望它是动态的。
因为只有图标的名称不同,所以将所有图标的名称存储到某个数组中并像这样显示..
$icons = array('0' =>'adjust' ,'1'=>'anchor' );
foreach ($icons as $key => $res) {
echo '<i class="fa-'.$res.'"></i>';
}
因为你的数组看起来像这样:
$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>
是,问题已解决,无需创建数组。我有免费的插件 Font Awesome Icon Picker,它负责处理所有很棒的字体图标列表和 GUI,它提供了一个包含值的文本框,因此当表单提交时,我们在 post.[=11 中获取值=]
您可以使用 yaml 解析器并处理 font awesome 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>';
}