用PHP脚本替换CSS

时间:2015-04-24 08:00:17

标签: javascript php css

我在我的网站上做了一个CSS生成器。

使用JavaScript,我可以生成用户决定的CSS代码。

通过单击按钮,新代码将替换旧代码,但我的PHP脚本不起作用。

首先,我刚刚在脚本的开头定义了旧变量和新变量。

<?php 

    $fichier='texte.css';
    $backgroundcolor='background-color:yellow;';
    $background='/background-color:blue;/';

    $text=fopen($fichier,'r+') or die("File missing"); 
    $contenu=file_get_contents($fichier);

    /* Open the file and get an array with one line per element*/
    $lines = file($fichier);
    foreach ($lines as $lineNumber => $lineContent)
    {
        echo ("$lineNumber $lineContent<br/>");

        //Search keyword for each line 
        if (preg_match($background, $lineContent))
        {
            echo("Founded: $lineContent<br/>");
            echo("Previous background : $background <br/> New background : $backgroundcolor");
            //Replace the old string by the new one
            $contenuMod=str_replace($background, $backgroundcolor, $lineContent); // string to replace, new string, file
            echo ("New string: $contenuMod");
            fwrite($text,$contenuMod); 
        }
    }
    fclose($text); 
    ?>

1 个答案:

答案 0 :(得分:0)

str_replace不能使用正则表达式。

虽然preg_match在文件中找到正则表达式'/background-color:blue;/',但您应该仅将str_replace传递给background-color:blue;或使用preg_replace

<?php 

    $fichier='texte.css';
    $backgroundcolor='background-color:yellow;';
    $background='/background-color:blue;/';

    $text=fopen($fichier,'r+') or die("File missing"); 
    $contenu=file_get_contents($fichier);
    $lines = file($fichier);
    foreach ($lines as $lineNumber => $lineContent)
    {
        echo ("$lineNumber $lineContent<br/>");
        contenuMod = preg_replace(background , backgroundcolor, $lineContent);
        fwrite($text,$contenuMod); 

    }
    fclose($text); 
    ?>