Avatar billede mads1987 Nybegynder
25. april 2003 - 22:03 Der er 23 kommentarer og
1 løsning

Ændre CSS

Jeg skal bruge et simpelt script til at ændre i en .css fil, jeg skal kunne via en form ændre i -
tekst str., skrift og farve.

Nogen der kan hjælpe?
Avatar billede schaefner Juniormester
25. april 2003 - 22:17 #1
Kan du ikke bare indlæse hele css-filen ind i et textarea og så rette i det?
Avatar billede mads1987 Nybegynder
25. april 2003 - 22:25 #2
Ved ikke om det overhoved er muligt? Men kan man ikke trække nogle bestemte punkter ud? Det eneste de skal have adgang til at rette i er de tre ting.
Avatar billede schaefner Juniormester
25. april 2003 - 22:26 #3
jooh, det kan du godt.
Avatar billede mads1987 Nybegynder
25. april 2003 - 22:30 #4
Og hvordan gør jeg så :0)
Avatar billede schaefner Juniormester
25. april 2003 - 22:30 #5
Laver lige et lille eksempel.
Avatar billede mads1987 Nybegynder
25. april 2003 - 22:40 #6
Tak! :)
Avatar billede nicklasb Nybegynder
25. april 2003 - 22:50 #7
du kunne jo evt. bare skrive et <style> tag i din head, på de sider hvor de skulle kunne sætte deres egne instillinger.. og så bare sætte de 3 ting de har lov at rette i denne.. Så kan du ved hjælp af variabler bare hente de forskellige resultater ud på de rigtige pladser.. så skulle den da være klaret ??
Avatar billede schaefner Juniormester
25. april 2003 - 22:52 #8
Avatar billede mads1987 Nybegynder
25. april 2003 - 22:54 #9
schaefner -> Ja nemlig! Må jeg få den :-))
Avatar billede schaefner Juniormester
25. april 2003 - 22:56 #10
<?php
$fil = "style.css"; // Css-filen der skal ændres
$pos = 0; // Hvilken linje står det du gerne vil ændre. Starter fra 0
if(isset($_POST['send'])) {
    $arr[$pos] = "$_POST[fontsize]; $_POST[fontfamily]; $_POST[color]";
    $string = implode("\n",$arr);
    $write = fopen($fil,"w");
    fwrite($write, $string);
    fclose($write);
}
$arr = file($fil);
$styles = explode(";",$arr[$pos]);
?>
<form method="post" action="">
<input type="text" name="fontsize" value="<?php echo trim($styles[0]); ?>">
<input type="text" name="fontfamily" value="<?php echo trim($styles[1]); ?>">
<input type="text" name="color" value="<?php echo trim($styles[2]); ?>"><br><br>
<input type="submit" name="send" value="Opdater">
Avatar billede schaefner Juniormester
25. april 2003 - 22:57 #11
Min css-fil ser iøvrigt således ud:

font-size: 10px; font-family: verdana,arial,sans-serif; color: #ffffff

/Jesper Sørensen
Avatar billede schaefner Juniormester
25. april 2003 - 22:59 #12
hov, der er da en lille fejl. Der mangler jo
etellerandet {}

ændre det lige ;)
Avatar billede schaefner Juniormester
25. april 2003 - 23:01 #13
Er der iøvrigt kun en linje i filen?
Avatar billede mads1987 Nybegynder
25. april 2003 - 23:04 #14
Takker! Svar?
Avatar billede mads1987 Nybegynder
25. april 2003 - 23:05 #15
Nå ja hov! Der fik jeg sagt tak for tidligt :-)
Avatar billede schaefner Juniormester
25. april 2003 - 23:07 #16
Retter den lige.
Avatar billede schaefner Juniormester
25. april 2003 - 23:08 #17
Står der kun en linje i filen?
Avatar billede mads1987 Nybegynder
25. april 2003 - 23:12 #18
Nej de står under hinanden.
Avatar billede schaefner Juniormester
25. april 2003 - 23:12 #19
ok
Avatar billede schaefner Juniormester
25. april 2003 - 23:30 #20
Således:

<?php
$fil = "style1.css"; // Css-filen der skal ændres
$pos = 0; // Hvilken linje står det du gerne vil ændre. Starter fra 0
$arr = file($fil);
$selektor = explode("{",$arr[$pos]);
$selektor[1] = str_replace("}","",$selektor[1]);
$styles = explode(";",$selektor[1]);
?>
<form method="post" action="">
<input type="hidden" name="selektor" value="<?php echo trim($selektor[0]); ?>">
<input type="text" name="fontsize" value="<?php echo trim($styles[0]); ?>">
<input type="text" name="fontfamily" value="<?php echo trim($styles[1]); ?>">
<input type="text" name="color" value="<?php echo trim($styles[2]); ?>"><br><br>
<input type="submit" name="send" value="Opdater">
<?php
if(isset($_POST['send'])) {
    $arr[$pos] = "$_POST[selektor] \{$_POST[fontsize]; $_POST[fontfamily]; $_POST[color]}";
    $string = implode("\n",$arr);
    $write = fopen($fil,"w");
    fwrite($write, $string);
    fclose($write);
    echo "CSS-filen blev opdateret";
}
?>

/Jesper Sørensen
Avatar billede mads1987 Nybegynder
27. april 2003 - 09:02 #21
Hej igen schaefner. Det virker desværre ikke helt. Min Css ser således ud:

.stylehj {
    font-family: Verdana, Arial, Helvetica, sans-serif;
    font-size: 12px;
    color: #000066;
}

Mvh
Avatar billede schaefner Juniormester
28. april 2003 - 20:53 #22
Stil den sådan op:
.stylehj {font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; color: #000066}

Så er den klaret, ellers skal jeg lave om i scriptet :)
Avatar billede mads1987 Nybegynder
28. april 2003 - 21:07 #23
Så er den klaret! :) Nu virker det! Tak for hjælpen - har forhøjet med 5 point og snupper så selv point fra det andet! Så behøver du ikke svare flere gange.
Avatar billede schaefner Juniormester
28. april 2003 - 21:10 #24
Det er bare helt iorden. Jeg havde helt glemt spm. :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester