fork download
  1. <?
  2. $text= <<<HEREDOC
  3. @import url(http://f...content-available-to-author-only...s.com/css?family=Bitter);
  4. @import"reset.css";@import"pro_pages_style.css";@import"grid.css";@import"forms.css";@import"prettyPhoto.css";@import"jquery.snippet.min.css";
  5. @import"../skin/blue.monday/jplayer.blue.monday.css";@import"../css/smoothness/jquery-ui-1.8.17.custom.css";
  6. body{background:#212d32;font:14px/24px Georgia, "Times New Roman", Times, serif;color:#7d919b;position:relative;min-width:960px;}
  7. html,body{height:100%;}
  8. p,.p{padding-bottom:24px;}
  9. .p0 {padding-bottom:0 !important;}
  10. .p1 {padding-bottom:10px;}
  11. .p2 {padding-bottom:15px;}
  12. a{color:#6ed3e5;outline:none;cursor:pointer;text-decoration:none;}
  13. a:hover{text-decoration:underline}
  14.  
  15. HEREDOC;
  16.  
  17. $re= <<<HEREDOC
  18.   @import\\s* # @import за которым пробельные символы
  19.   (")? # кавычка, сохраняем в первую группу
  20.   (?(1) | # если совпала первая группа, то ничего не надо
  21.   ((?<=\\s)url\\s*\() # ИНАЧЕ скобочка c url, сохраняем во вторую группу
  22.   ) # конец ?(1)
  23.   (?(1)|(?(2)|^)) # фэйлим совпадение, если ни одна из двух групп
  24.   # не совпала
  25.  
  26.   ( # третья группа для сохранения результата
  27.   (?(1) # если была первая группа
  28.   [^"]++ | # ТО включаем в результат все НЕ кавычки
  29.   [^\)]++ # ИНАЧЕ включаем все НЕ скобочки
  30.   ) # конец ?(1)
  31.   ) # конец 3-ей группы
  32.   # далее две строки принципиально не нужны- просто для полноты конструкции
  33.   (?(1) # если была первая группа
  34.   " | # ТО кавычка
  35.   \) # ИНАЧЕ скобочка
  36.   ) # конец ?(1)
  37.  
  38. HEREDOC;
  39.  
  40. preg_match_all("/$re/sux", $text, $arr);
  41. var_dump( $arr[3] );
  42.  
  43. ?>
Success #stdin #stdout 0.01s 20568KB
stdin
Standard input is empty
stdout
array(9) {
  [0]=>
  string(45) "http://f...content-available-to-author-only...s.com/css?family=Bitter"
  [1]=>
  string(9) "reset.css"
  [2]=>
  string(19) "pro_pages_style.css"
  [3]=>
  string(8) "grid.css"
  [4]=>
  string(9) "forms.css"
  [5]=>
  string(15) "prettyPhoto.css"
  [6]=>
  string(22) "jquery.snippet.min.css"
  [7]=>
  string(43) "../skin/blue.monday/jplayer.blue.monday.css"
  [8]=>
  string(45) "../css/smoothness/jquery-ui-1.8.17.custom.css"
}