Получение стиля элемента из CSS на PHP

Discussion in 'PHP' started by NorB, 10 Oct 2010.

  1. NorB

    NorB Elder - Старейшина

    Joined:
    20 Jul 2007
    Messages:
    109
    Likes Received:
    12
    Reputations:
    -2
    вобщем такая проблем:
    Я гружу сайт и мне нужно получить стиль элемента.
    Если стиль прописан в самом элементе то без проблем на пхп это делается, НО если стиль в CSS то, я прошу помощи, как это сделать на пхп?...

    Это можно реализовать на жаваскрипте при помощи document.defaultView or currentStyle:

    Code:
    function getElementComputedStyle(elem, prop)
    {
      if (typeof elem!="object") elem = document.getElementById(elem);
      
      // external stylesheet for Mozilla, Opera 7+ and Safari 1.3+
      if (document.defaultView && document.defaultView.getComputedStyle)
      {
        if (prop.match(/[A-Z]/)) prop = prop.replace(/([A-Z])/g, "-$1").toLowerCase();
        return document.defaultView.getComputedStyle(elem, "").getPropertyValue(prop);
      }
      
      // external stylesheet for Explorer and Opera 9
      if (elem.currentStyle)
      {
        var i;
        while ((i=prop.indexOf("-"))!=-1) prop = prop.substr(0, i) + prop.substr(i+1,1).toUpperCase() + prop.substr(i+2);
        return elem.currentStyle[prop];
      }
      
      return "";
    }
    Но мне нужно реализовать на стороне сервера для дальнейших манипуляций со стилем элемента.

    P.S. >вдруг кто с такой задачей сталкивался.
     
    #1 NorB, 10 Oct 2010
    Last edited: 10 Oct 2010
  2. SHiNiGaMi

    SHiNiGaMi Banned

    Joined:
    3 Jan 2010
    Messages:
    382
    Likes Received:
    55
    Reputations:
    15
    стиль для body с античата
    PHP:
    <?php
    $elem 
    "body";
    $file file_get_contents("/");
    preg_match("#<link rel=.?stylesheet.? .*? href=.?(.*?).?>#i",$file,$matches) or die("fuck");
    $file file_get_contents("/".$matches[1]);
    preg_match("#$elem\s*\{\s*(.*?)\s*\}#is",$file,$matches) or die("fuck");
    echo 
    "<pre>".$matches[0]."</pre>";
    ?>
     
    #2 SHiNiGaMi, 10 Oct 2010
    Last edited: 10 Oct 2010
  3. NorB

    NorB Elder - Старейшина

    Joined:
    20 Jul 2007
    Messages:
    109
    Likes Received:
    12
    Reputations:
    -2
    http://www.phpclasses.org/package/1289-PHP-CSS-parser-class.html

    кому понадобиться.
    П.С. он не годится для сложных таблиц стилей где типа такова .class .class .class {lalala}