<?php
// ------------------------------------------------------------------------- //
// "Parser" un fichier CSS //
// ------------------------------------------------------------------------- //
// Auteur: Dj ThuG <gotnospirit@hotmail.com> //
// Web: //
// ------------------------------------------------------------------------- //
function Get_CSSData( $filename = '' )
{
if ( @file_exists($filename) && '' != $filename )
{
$CSSFileContent = implode( '', file($filename) );
$Tb = array();
$Tb2 = array();
$Tmp = array();
$Tb_Dataz = array();
preg_match_all( '/(.[^\{\}]*)\{(.[^\{\}]*)\}/', $CSSFileContent, $Tb2 );
if ( count( $Tb2 ) == 3 )
{
foreach( $Tb2[1] AS $idx=>$declar )
$Tb[trim($declar) ] = trim( $Tb2[2][$idx] );
unset( $Tb2 );
foreach( $Tb AS $declar=>$data )
{
$TbDec = explode( ',' , $declar );
foreach( $TbDec AS $idx => $each_declar )
$Tmp[ $each_declar ][] = $data;
}
unset( $Tb );
foreach( $Tmp AS $declar=>$dataz )
{
$Tmp_Tb = array();
foreach( $dataz AS $idx=>$each_data )
{
$Tmp_Data = explode( ';' , $each_data );
foreach( $Tmp_Data AS $idx=>$ligne )
$Tmp_Dataz = explode( ':' , $ligne );
if ( 2 == count( $Tmp_Dataz ) )
$Tmp_Tb[ trim($Tmp_Dataz[0]) ] = trim( $Tmp_Dataz[1] );
}
}
$Tmp[ $declar ] = $Tmp_Tb;
}
$Tb_Dataz = $Tmp;
unset( $Tmp );
return $Tb_Dataz;
}
else
die( '[Get_CSSData] fichier non spécifié' );
}
/*
Retourne un array dans ce genre :
> .date :
>> font-family = Verdana
>> font-size = 10px
> A:active :
>> font-family = Verdana
>> font-size = 10px
>> text-decoration = none
>> color = #BC0004
> A:visited :
>> text-decoration = none
>> color = #A0A0A0
> A:link :
>> text-decoration = none
>> color = #BEBEBE
> A:hover :
>> text-decoration = underline
*/
?>