Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PCRE] Usunięcie łamania linii ze stylu CSS
Forum PHP.pl > Forum > PHP
starach
Hej. W większości stylach spotykam się z następującym standardem zapisu:
Kod
.klasa {
  atrybut_1: wartość;
  atrybut_2: wartość;
  atrybut_3: wartość;
  atrybut_4: wartość;
}
Obcy kod czyta się po prostu tragicznie w ten sposób. Potrafi się z prostego stylu zrobić 600 linijek (sic!). Dlatego chciałbym go przetworzyć do następującej postaci:
Kod
.klasa { atrybut_1:wartość; atrybut_2:wartość; atrybut_3:wartość; atrybut_4:wartość; }
Problem polega na tym, że nie mogę dojść do odpowiedniego wzorca dla funkcji preg_replace().
tharos
Np do wyświetlenia na ekranie
  1. <?
  2. $str = '.klasa {
  3.  atrybut_1: wartość;
  4.  atrybut_2: wartość;
  5.  atrybut_3: wartość;
  6.  atrybut_4: wartość;
  7. }
  8. .klasa2 {
  9.  atrybut_1: wartość;
  10.  atrybut_2: wartość;
  11.  atrybut_3: wartość;
  12.  atrybut_4: wartość;
  13. }
  14. ';
  15. $patterns = array("/{\n/","/;\n/","/}/");
  16. $replacements = array("{",";","}<br />\n");
  17. $str2 = preg_replace($patterns, $replacements, $str);
  18. echo $str2;
  19. ?>

Jak do pliku to wywalić "<br />"
Snickers01
Na linuksie taki plik styli mozesz przerobic w taki sposób
Kod
cat style.css | sed ':a;N;$!ba;s/\n//g' | sed 's/}/}\n/g' > styl2.css
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.