Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: problem z explode()
Forum PHP.pl > Forum > PHP
skr
Witam
Mam maly problem poniewaz mam napisac skrypt translacji i nie umiem sobie z tym poradzic. Skrypt ten pobiera tekst z bazy danych badz z pliku dzieli go wedlug kropek i tutaj zaczyna sie moj problem. Mianowicie chce aby skrypt wpisal w pole <textarea> 3 zdania zakonczone kropkami a wpisuje mi po jednym (normalne uzycie funkcji explode()). Prosilbym o jakas wskazowke co zrobic aby ten skrypt wpisywal mi po 3 zdania (zakonczone kropkami) w pole textarea i potem nastepne 3 w nowe pole i tak do konca tekstu.

Ponizej podaje kod jednak jak wyzej napisalem jest to zwykly kod ktory dzieli plik wg kropek:

  1. <?php
  2. $query=mysql_query("SELECT * FROM texty");
  3. while($array=mysql_fetch_array($query)){
  4. $texcior=$array['text_pl'];
  5. $tmp=explode('.', $texcior);
  6. for($i=0; $i<count($tmp); $i++){
  7. echo '<textarea>',$tmp[$i],'</textarea>';
  8. echo '<br />';
  9. }
  10. ?>


PS. Przepraszam za brak polskich znakow ale nie mam na tym komputerze zainstalowanej obslugo polskiej klawiatury (komputer kupowany w angli ma inny uklad klawiatury)
nospor
  1. <?php
  2. $c = count($tmp);
  3. for($i=0; $i<$c; $i+=3){
  4. echo '<textarea>'.$tmp[$i].$tmp[$i+1].$tmp[$i+2].'</textarea>';
  5. echo '<br />';
  6. }
  7. ?>

Dorob do tego jeszcze sprawdzanie czy przypadkiem $i+1 lub $i+2 nie wychodzi poza zakres tablicy

ps: usunalem ci count($tmp) z pętli, gdyż jest to nieoptymalne.
skr
dzieki wielkie : ) teraz tylko pobawic sie w pisanie skryptu sprawdzajacego : ) Jeszcze raz dzieki : )

Dopisalem czesc sprawdzajaca dziala ona jak nalezy ale chcialbym zebyscie rzucili na to okiem czy nie mozna by bylo czegos poprawic : )

Oto skrypt : )

  1. <?php
  2. $query=mysql_query('SELECT * FROM texty');
  3. while($array=mysql_fetch_array($query)){
  4. $texcior=$array['text_pl'];
  5. $tmp=explode('.', $texcior);
  6. $c = count($tmp);
  7. for($i=0; $i<$c; $i+=3){
  8. echo '<textarea>';
  9. if(!($tmp[$i]=='')){
  10. echo $tmp[$i].'. ';
  11. }
  12. if(!($tmp[$i+1]=='')){
  13. echo $tmp[$i+1].'. ';
  14. }
  15. if(!($tmp[$i+2]=='')){
  16. echo $tmp[$i+2].'.';
  17. }
  18. echo '</textarea>';
  19. echo '<br />';
  20. }
  21. ?>
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.