03/05/2015 Préprocesseur CSS en PHP qui conserve les numéros de ligne
Dans un souci de débuggage, je voulais que les numéros de ligne du fichier CSS correspondent parfaitement à celles du fichier PHP.
J'ai développé une fonction qui intercepte le numéro de ligne de chaque ouverture de balises PHP et de chaque fermture. Elle calcule alors la taille du bloc de code PHP et remplace ce dernier par autant de lignes vides dans le fichier CSS.
<?= css_line(__LINE__) ?><?php
function css_line($__LINE__) {
$fichier_contient_balises_style = 1;
static $ligne_debut = false;
if ($ligne_debut === false) {
// ouverture de balise PHP
$ligne_debut = $__LINE__;
} else {
// fermeture de balise PHP
$nb_lignes = $__LINE__ - $ligne_debut + $fichier_contient_balises_style;
echo str_repeat("/* css_line */" . PHP_EOL, $nb_lignes);
$ligne_debut = false;
}
return "";
}
header('content-type: text/css');
$rouge="#f00";
ob_start();
?><?= css_line(__LINE__) ?>
<style>
#v_middle {
background-color:<?php echo $rouge ?>;
}
</style>
<?php
echo strip_tags(ob_get_clean());
Commentaires
Ajouter un commentaire :
- Votre commentaire a bien été posté et sera publié après validation par le webmaster du site.