我正在使用google的css框架实现,这非常好。
此框架有自己的select元素,动态更改为ul。
我也在使用fontawesome图标css框架,我的想法是在select中添加一个图标,如下所示
<select name="note[type]">
<option value="1"><i class="fa fa-car"></i>Car</option>
</select>
但是如果我写的话,它不会显示图标:
而不是正确显示的<i>
标签(请注意,这不是汽车图标的实际代码)。
所以我的问题是:我从数据库中动态填充图标,有没有一种方法可以从图标类如fa-car
通过php / javascript获得unicode字符?
谢谢和问候
答案 0 :(得分:0)
我已经以自己的方式解决了这个问题,对于那些可能遇到我问题的人来说,答案是:
首先在StackOverflow上我找到了如何使用这个函数断开数组:
private function BreakCSS($css)
{
$results = array();
preg_match_all('/(.+?)\s?\{\s?(.+?)\s?\}/', $css, $matches);
foreach($matches[0] AS $i=>$original)
foreach(explode(';', $matches[2][$i]) AS $attr)
if (strlen(trim($attr)) > 0) // for missing semicolon on last element, which is legal
{
list($name, $value) = explode(':', $attr);
$results[$matches[1][$i]][trim($name)] = trim($value);
}
return $results;
}
我使用file_get_contents
加载了所有fontawesome代码并将其传递给BreakCss。
全部如下:
public function GetIcon($icon)
{
$icon = $icon.":before";
$fa = file_get_contents(A_CSS.DIRECTORY_SEPARATOR."font-awesome.min.css");
$arr = $this->BreakCSS($fa);
$char = "";
foreach($arr as $selector=>$style)
{
if (strpos($selector, $icon))
{
$char = str_replace("\\", "&#x", str_replace("\"", "", $style['content'])).";";
}
}
return $char;
}
用法GetIcon("fa-car");
希望这有帮助!