使用php和regex将@import更改为php-include


using php and regex to change @import to php include?

长话短说,我基本上是在尝试使用正则表达式(甚至字符串替换)来更改

@import url('narf.css');

<?php include('narf.css'); ?>

到目前为止,我已经想出了这个,但它并没有关闭PHP标签。。。。

$var =  str_replace('@import url', '<?php include', $var);

除此之外,我有点被卡住了。我对regex语法感到震惊,我尝试或试图查找的所有内容都让我走上了一条死胡同。

任何帮助都将不胜感激。

$var = preg_replace('/@import url'(([^)]+)');/', '<?php include $1; ?>', $var);

分解:

  1. @import url'(-与@import url()完全匹配
  2. ([^)]+)-将括号内的所有内容捕获到第一个反向引用中
  3. ');-字面上匹配

如果你在其中的某个地方有一些空白,你也必须考虑到这一点。。。