Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [HTML][PHP]Numerowanie linijek w pliku css
Forum PHP.pl > Forum > Przedszkole
miras
Witam, mam problem, ponieważ muszę zrobić numerowanie linijek w pliku css pobranym do <textarea>

w taki sposób pobieram ten plik:


  1. <?php
  2. $edycja = "strona/style.css";
  3.  
  4. if ($edycja<>"" && file_exists($edycja)) {
  5.  
  6. echo '<center><form action="" method="post"><input type="hidden" name="edycja" value="'.$edycja.'" /><textarea id="tekst" name="tekst" rows="27"cols="85">';
  7. $f = fopen($edycja,"r");
  8. while(!feof($f)) echo fread($f,1024);
  9. fclose($f);
  10. echo '</textarea><br><br><input type="submit" value="Zapisz"/></form></center>';
  11. }
  12.  
  13. ?>


jak zrobić "Numerowanie linijek" ?
Gość
preg_replace_callback
miras
ta funkcja chyba nie zwraca numerów wierszy z tego co widzę...
Pawel_W
ten skrypt który masz teraz zczytuje Ci plik linia po linii, dodaj do niego zmienną, np. $line i w środku pętli while inkrementuj ją i wyświetlaj
miras
a jak później wyślę ten plik do "zapisania" to zapisze się z tymi numerami ?
Pawel_W
tak
miras
to jeszcze podpowiedz jak ominąć to zapisywanie numerków ?
Pawel_W
nie zrozumiałem o co Ci chodzi za bardzo, poszukaj w google pod hasłem "wyswig line numbering"
miras
nic konkretnego w google nie kryje sie pod tym "wyswig line numbering"

powiedzcie mi tylko jak zrobić, żeby to :

  1. while(!feof($f)) {
  2. echo fread($f,1024);
  3. }


wyświetlało mi linijka po linijce a nie całość
!*!
  1. $file = file_get_contents('./file.css');
  2.  
  3. $read = explode("\n", $file);
  4.  
  5. foreach($read as $key => $value)
  6. {
  7. echo linia: $key, wartość: $value;
  8. }
Pawel_W
ew. przy użyciu file
miras
a powiedzcie jeszcze jak zrobić, żeby te numerki linii nie zapisywały się do pliku przy 'zapisywaniu' ?
!*!
  1. $file = file_get_contents('./file.css');
  2. $read = explode("\n", $file);
  3. $newCSS = null;
  4. foreach($read as $key => $value)
  5. {
  6. $newCSS .=substr($key, iloscZnakow)."\n"; // usuwa pierwsze znaki z linii, tu musisz jeszcze sprawdzic ile tych linii jest tzw. ile znaków zawiera 382 linii (tu 3).
  7. }
  8. file_put_contents('newFile.css', $newCSS);


IMO linie w textarea to zły pomysł.
miras
coś nie wychodzi :/ kod:

  1.  
  2.  
  3.  
  4. <?php
  5. $edycja = "sciezka/style.css";
  6. $filee = file_get_contents("sciezka/style.css");
  7.  
  8. if (isset($_POST["tekst"]) && file_exists($edycja)) {
  9. $read = explode("\n", $filee);
  10. $newCSS = null;
  11. foreach($read as $key => $value)
  12. {
  13. $newCSS .=substr($key, 3)."\n";
  14. }
  15. file_put_contents($edycja, $newCSS);
  16.  
  17. }
  18.  
  19.  
  20. echo '<center><form action="" method="post"><input type="hidden" name="edycja" value="'.$filee.'" /><textarea id="tekst" name="tekst" rows="27"cols="85">';
  21. $read = explode("\n", $filee);
  22. foreach($read as $key => $value) {
  23. echo '['.$key.'] '.$value;
  24. }
  25. echo '</textarea><br><br><input type="submit" value="Zapisz"/></form></center>';
  26.  
  27. ?>


po 'zapisaniu' dostaję masę numerków 1,2,3 itd..
!*!
Odczytaj POST przy zapisywaniu, a nie plik.
miras
nadal nie śmiga..

  1. <?php
  2. $edycja = "sciezka/style.css";
  3. $filee = file_get_contents("sciezka/style.css");
  4.  
  5. if (isset($_POST["tekst"]) && file_exists($edycja)) {
  6. $read = explode("\n", $filee);
  7. $newCSS = null;
  8. foreach($read as $key => $value)
  9. {
  10. $newCSS .=substr($key, 4)."\n";
  11. }
  12. file_put_contents($_POST['tekst'], $newCSS);
  13.  
  14. }
  15.  
  16.  
  17. echo '<center><form action="" method="post"><input type="hidden" name="edycja" value="'.$filee.'" /><textarea id="tekst" name="tekst" rows="27"cols="85">';
  18. $read = explode("\n", $filee);
  19. foreach($read as $key => $value) {
  20. echo '['.$key.'] '.$value;
  21. }
  22. echo '</textarea><br><br><input type="submit" value="Zapisz"/></form></center>';
  23.  
  24. ?>



tresc bledu:





Warning: file_put_contents([0] /************************************************************************ [1] RESET LAYOUT [2] *************************************************************************/ [3] html, body, div, span, applet, object, iframe, [4] h1, h2, h3, h4, h5, h6, p, blockquote, pre, [5] a, abbr, acronym, address, big, cite, code, [6] del, dfn, em, font, img, ins, kbd, q, s, samp, [7] small, strike, strong, sub, sup, tt, var, [8] b, u, i, center, [9] dl, dt, dd, ol, ul, li, [10] fieldset, form, label, legend, [11] table, caption, tbody, tfoot, thead, tr, th, td { [12] margin: 0; [13] padding: 0; [14] border: 0; [15] outline: 0; [16] font-size: 100%; [17] vertical-align: baseline; [18] background: transparent; [19] } [20] html { [21] -webkit-text-size-adjust: none; [22] } [23] body { [24] [25] line-height: 1; [26] } [27] ol, ul { [28] list-style: n in /home/sciezka/ust_css.php on line 18
!*!
A niby jak chcesz zapisać tekst w ścieżce do pliku?
miras
nie rozumiem, można jaśniej ?
!*!
  1. file_put_contents($_POST['tekst'], $newCSS);
i przeczytaj co robi ta funkcja (file_put_contents) oraz jakie parametry przyjmuje.
miras
już rozumiem chyba... o to chodziło? niestety nadal masa liczb po zapisaniu..
  1.  
  2. $edycja = "sciezka/style.css";
  3. $filee = file_get_contents("sciezka/style.css");
  4.  
  5. if (isset($_POST["tekst"]) && file_exists($edycja)) {
  6. $read = explode("\n", $_POST['tekst']);
  7. $newCSS = null;
  8. foreach($read as $key => $value)
  9. {
  10. $newCSS .=substr($key, 4)."\n";
  11. }
  12. file_put_contents($edycja, $newCSS);
  13.  
  14. }
!*!
  1. <?php
  2.  
  3. $fileName = './file.txt';
  4. $file = file_get_contents($fileName);
  5.  
  6.  
  7. if(isset($_POST['tekst']) AND file_exists($fileName))
  8. {
  9. $read = explode("\n", $_POST['tekst']);
  10. $newCSS = null;
  11.  
  12. foreach($read as $key => $value)
  13. {
  14. $value = preg_replace('/(\[[0-9]+\])/', '', $value);
  15. $newCSS .= $value."\n";
  16. }
  17. file_put_contents($fileName, $newCSS);
  18. }
  19.  
  20.  
  21. $getContent = null;
  22. $read2 = explode("\n", $file);
  23. foreach($read2 as $key => $value)
  24. {
  25. $getContent .= '['.$key.']'.$value."\n";
  26. }
  27.  
  28.  
  29. ?>
  30.  
  31. <form action="#" method="post">
  32. <textarea id="tekst" name="tekst" rows="27"cols="85"><?php echo $getContent; ?></textarea>
  33. <input type="submit" name="submit" value="Zapisz"/>
  34. </form>
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.