我已经在这里我自己的方式来解决,这是为那些谁可能有我的问题的答案:
所有在计算器上我发现的第一个如何使用这breakcss到一个数组功能:
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");
希望这有助于!
这里是一个相关的帖子:http://stackoverflow.com/questions/31549631/programmatically-get-fontawesome-unicode-value-by-name。它建议使用window.getComputedStyle函数 –