Не сте регистриран! Регистрирайте се БЕЗПЛАТНО, за да използвате услугите на сайта!

   Рубрики
 
 
 
 

 Форуми
» SEO и оптимизация
» Всичко за PHP и Perl
» Всичко за C, C++ и .NET
» Всичко за Java и JSP
» Всичко за SQL и MySQL
» Всичко за XHTML и CSS
» Презентация на сайтове
 Четене на CSS файлове чрез PHP
  1. Примерен CSS код
     
Автор  plamenSm (30.03.2008 13:32)  съобщение до автора
Погледнат  1694 пъти  добави към любими
Оценка  добави коментар
Гласове  --  изпрати на приятел
Коментари  (0)  абонирай се за PHP
    Страница 1 / 1

 



Разгледаната тук функция отваря CSS (Cascading Style Sheets) файл, прочита съдържанието му и разделя селекторите от свойство:стойност елементите в стил-дефинициите. Функцията може да се използва при създаване на web базиран CSS редактор, като Sumatra: CSS Editor например. Функцията зарежда стойностите в два масива (имена и стилове). След това отделните стойности могат лесно да се получават чрез цикли или if/else структури.


Използвани са следните PHP функции

file – прочита цял файл в масив.

trim – премахва водещите и последващите интервали, табулации и други „white space” символи от стринг.

strtok – разделя стринг на отгелни стрингове по зададени разделители. Например лесно можете да разделите изречение в масив от отделни думи, като зададете символа интервал за разделител.

strstr – търси първото съвпадение на зададен стринг s1 в друг s2. При успех връща частта от s2 преди или след (според последния параметър) позицията на съвпадението.

count – връща броя на елементите в масив или обект.

Modulus (%) operator – връща остатъка от целочислено делене.


Примерен CSS код

Ще използваме файлът style_sheet.css за да си изясним как работи PHP кода. Съдържание на файла:

CODE
1
2
3
4
5
6
7
8
9
10
11
p{
 
color:#000000;
}
h1{
  
font-size:18px;
  
color:#666666;
}
table{
  
width:100%;
  
border:1px solid #000000;
}


PHP код

CODE
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
<?php
// Ако няма зареден стил, зареждаме
$lines = file("style_sheet.css");

foreach ($lines as $line_num => $line) {
   
$cssstyles .= trim($line);
}

// Използваме strtok за да премахнем фигурните скоби от стил-дефинициите
$tok = strtok($cssstyles, "{}");

// Например дефиницията: p{color:#000000;} сега ще изглежда така: p color:#000000;
// Създаваме нов масив в който ще запишем разделения на елементи стринг
$sarray = array ();

// Дефинираме брояч
$spos = 0;

// В следващия while цикъл отделяме селекторите от стиловете
// и записваме стойносттите им в $sarray
while ($tok !== false) {
   
$sarray[$spos] = $tok;
   
$spos++;
   
$tok = strtok("{}");
}

// Ако тук поставите print_r($sarray); резултатът ще бъде:
// Array ( [0] => p [1] => color:#000000;
// [2] => h1 [3] => font-size:18px;color:#666666;
// [4] => table [5] => width:100%; border:1px solid #000000;)
// Както виждате всички селектори са записани в нечетен индекс, а стиловете в четен
// По-късно ще използваме този факт при обхождането на $sarray и записа на
// селекторите в един масив, а стиловете в друг.
// Ще ни е необходим размера на масива $sarray

$size = count($sarray);

// Създаваме 2 масива за селекторите и стиловете
$selectors = array ();
$sstyles = array ();

// Необходими са и 2 брояча
$npos = 0;
$sstl = 0;

// Чрез for цикъл и оператор '%' разделяме стиловете от селекторите.
for ($i = 0; $i < $size; $i++) {
   
if ($i % 2 == 0) {
       
$selectors[$npos] = $sarray[$i];
       
$npos++;
   
}
   
else {
       
$sstyles[$sstl] = $sarray[$i];
       
$sstl++;
   
}
}

// Остава да запазим двата масива в сесията, за да са достъпни по-нататък
$_SESSION['style_names'] = $selectors;
$_SESSION['style_styles'] = $sstyles;

// Ако поставите тук print_r($selectors); и print_r($sstyles);
// ще видите, че имате достъп до всеки селектор и неговите стилове използвайки индексите на масивите
// В случая: $selectors[0] е "p", а $sstyles[0] е свосйтво:стойност дефиницията за "p" - color:#000000;
?>


Работещ пример

Тази функция има важна роля в Sumatra: CSS Editor, където можете прочетете повече и да я видите в действие.

Източник: bewebmaster.com



   


Ключови думи: PHP прочитане на CSS файл css файл


Още уроци от тази рубрика


 
  • Подобни теми от myLinks
 

 1 посетител чете този урок (0 потребители и 1 гост)  
Активни потребители: ---
   
  

Еmail  
 

 

 
  • Интересно от Софтуер
 



IT-PLACE.NET © 2004 - 2008