static function rtlCSS($css_data, $escaped = array('.no-convert')) { $dir = 'RTL'; //$css_data = file_get_contents($css_file); //remove comments $css_data = preg_replace('/\\/\\*(.*)?\\*\\//Usi', '', $css_data); //rewrite padding,margin,border $css_data = preg_replace('/(\\h*)(padding|margin|border):(\\d+.+)\\h+(\\d+.+)\\h+(\\d+.+)\\h+(\\d+.+)\\h*;/Ui', "\\1\\2-right:\\4;\\1\\2-left:\\5;", $css_data); //rewrite border-radius $css_data = preg_replace('/(\\h*|)border-radius:(.+)\\h+(.+)\\h+(.+)\\h+(.+)\\h*;/Ui', "\\1border-top-left-radius:\\2;\\1border-top-" . "right-radius:\\3;\\1border-bottom-right-radius:\\4;\\1border-bottom-left-radius:\\5;", $css_data); //start parsing css file $css_data = preg_replace('/(@media .+){(.+)}\\s*}/Uis', '\\1$$$\\2}$$$', $css_data); preg_match_all('/(.+){(.+)(}\\$\\$\\$|})/Uis', $css_data, $css_arr); $css_flipped = "/* Created by flipcss.php 0.7 by daif alotaibi (http://daif.net) */\n\n"; foreach ($css_arr[0] as $key => $val) { //ignore escaped classes if (!preg_match('/(' . implode('|', array_map('preg_quote', $escaped)) . ')/i', $css_arr[1][$key])) { if (preg_match('/left|right/i', $css_arr[2][$key])) { if ($rules = FSS_CSSParse::rtlCSSRule($css_arr[2][$key])) { $css_flipped .= trim(str_replace('$$$', '{', $css_arr[1][$key])); $css_flipped .= " {\n\t" . trim($rules) . "\n"; $css_flipped .= str_replace('$$$', "\n}", $css_arr[3][$key]) . "\n\n"; } } } } return $css_flipped; }