Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Operowanie tekstem
kayy
post
Post #1





Grupa: Zarejestrowani
Postów: 112
Pomógł: 1
Dołączył: 3.08.2008

Ostrzeżenie: (0%)
-----


Witam...

W zmiennej $_POST['tekst'] dochodzi do mnie dużo linijek typu;

Cytat
33216
31892
8
6
33221
31892
8
6
33221
31891
9
5



I teraz mam pytanie;

Jeden obiekt to cztery liniki, czyli np.
Cytat
33221
31891
9
5


Teraz cała filozofia polega na tym aby napisać algorytm który mi odpowiednio konwertuje:

Cytat
33221
31891
9
5 => odpowiednia funkcja

Konwersja:

funkcja_a 33221,31891,9


Nie mam na to pomysłu ;/ Możecie mi pomóc?
Go to the top of the page
+Quote Post
isso
post
Post #2





Grupa: Zarejestrowani
Postów: 296
Pomógł: 32
Dołączył: 3.01.2005

Ostrzeżenie: (0%)
-----


hmmm zrób explode względem nowej lini i licz co 4.... pozniej zrób if`a, który dla [$n[$i]%3==0] wykonuje funkcję zależnie od wartości $n[$i] (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) powodzenia
Go to the top of the page
+Quote Post
kayy
post
Post #3





Grupa: Zarejestrowani
Postów: 112
Pomógł: 1
Dołączył: 3.08.2008

Ostrzeżenie: (0%)
-----


Hmmm... Próbuje na razie wyświetlić tekst co 4 linie i dać nową, lecz coś mi nie wychodzi... co źle robie?

Kod
<?php
if(!isset($_POST['text']))
{
?><center>
<form method="post">
<p>Text:             <br> <textarea name="text" rows="40" cols="80"></textarea></p>
<input type="submit" name="Submit" value="Wyślij" style="height: 25px; width: 100px">
<br>
</form></center>
<?
}
else
{
$text = $_POST['text'];
nl2br($text);
$tab = explode("\r\n",$text);
$b = count($tab);
$z=4;
//$pa = 0;
$buff = null;
for($i=1;$i<$b;$i++) {
$inna = $tab[$i];


if($i%$z)

$buff = $buff.$inna;
}
else {
$buff = $buff."<br>";
}




echo $buff;

}
echo $pa;
//echo $buff;
}

?>



Dla ułatwienia wpisuje
Cytat
nie
nie
nie
tak
nie
nie
nie
tak
nie
nie
nie
tak
nie
nie
nie
tak
więc powinno co 4 linie oddzielić się enterami, lecz dostaje taki wynik:
Kod
nienienienienietaknienietak
nienietak
nienienietak
nienienienietak
nienietaknienietak
nienietak
nienietak
nienietak
nienienietak
nienietak
nienienienietak
nienietak
nienietaknienietak
nienietak
nienietak
nienietak
nienietak
nienietak
nienienietak
nienietak
nienietak
nienienienietak
nienietak
nienietak
nienietak






(nie=nie podzielna, tak = podzielna)
Go to the top of the page
+Quote Post
isso
post
Post #4





Grupa: Zarejestrowani
Postów: 296
Pomógł: 32
Dołączył: 3.01.2005

Ostrzeżenie: (0%)
-----


zauważ, że każda tablica zaczyna się od 0, czyli jak przeglądasz tablice musisz zrobić tak:

Kod
if((index_tablicy+1)%4){

write tablica[index_tablicy]

}
Go to the top of the page
+Quote Post
kayy
post
Post #5





Grupa: Zarejestrowani
Postów: 112
Pomógł: 1
Dołączył: 3.08.2008

Ostrzeżenie: (0%)
-----


W takim razie zrezygnowałem z jedynek, żeby nie motać, teraz wszystko mam od zera, lecz jednak nie chodzi...
Go to the top of the page
+Quote Post
isso
post
Post #6





Grupa: Zarejestrowani
Postów: 296
Pomógł: 32
Dołączył: 3.01.2005

Ostrzeżenie: (0%)
-----


po co jest to: nl2br($text); ?
Go to the top of the page
+Quote Post
kayy
post
Post #7





Grupa: Zarejestrowani
Postów: 112
Pomógł: 1
Dołączył: 3.08.2008

Ostrzeżenie: (0%)
-----


Klepnąłem z przyzwyczajenia ; s

No ale bez niego też do  końca nie chodzi:

Cytat
nie
nienie
nienietak
nienietak

nienietak
nie
nienietak
nienie
nienietak
nienietak
nienietak
nienietak



itd.

Też trochę zmieniłem kod, ale się w nim pogubiłem ;s

  1. <?php
  2. if(!isset($_POST['text']))
  3. {
  4. ?><center>
  5. <form method="post">
  6. <p>Text:             <br> <textarea name="text" rows="40" cols="80"></textarea></p>
  7. <input type="submit" name="Submit" value="Wyślij" style="height: 25px; width: 100px">
  8. <br>
  9. </form></center>
  10. <?
  11. }
  12. else
  13. {
  14. $text = $_POST['text'];
  15. nl2br($text);
  16. $tab = explode("r\n",$text);
  17. $b = count($tab);
  18. $z=4;
  19. $pa = 0;
  20. $buff = null;
  21. $pa += 1;
  22. for($i=0;$i<$b;$i+=4) {
  23. {
  24. $buff = $buff."<br>";
  25.  
  26. }
  27.  
  28. $inna = $tab[$i];
  29.  
  30.  
  31.  
  32.  
  33.  
  34. echo $buff;
  35.  
  36. }
  37. }
  38.  
  39. }
  40.  
  41. ?>



Mógłby ktoś poprawić/napisać od nowa?
Go to the top of the page
+Quote Post
erix
post
Post #8





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Porób wcięcia, to pogadamy. A jeśli chodzi o zlecenia, to nie ten dział, pomęcz się trochę, to się lepiej nauczysz.
Go to the top of the page
+Quote Post
kayy
post
Post #9





Grupa: Zarejestrowani
Postów: 112
Pomógł: 1
Dołączył: 3.08.2008

Ostrzeżenie: (0%)
-----


To może ktoś przynajmniej jakąś wskazówkę da?

Zaczyna mi coś działać jednak nie do końca:
  1. <?php
  2.    if(!isset($_POST['text']))
  3.        {
  4.        ?><center>
  5.            <form method="post">
  6.            <p>Text:             <br> <textarea name="text" rows="40" cols="80"></textarea></p>
  7.            <input type="submit" name="Submit" value="Wyślij" style="height: 25px; width: 100px">
  8.            <br>
  9.        </form></center>    
  10.        <?
  11.        }
  12.    else
  13.    {
  14. $text = $_POST['text'];
  15. nl2br($text);
  16. $tab = explode("r\n",$text);
  17. $b = count($tab);
  18. $z=4;
  19.  
  20.  
  21.  
  22. for($i=0;$i<$b;$i++)
  23.    {
  24.     if($i%$z)
  25.      {
  26. $pa[$i] = $tab[$i];
  27.     }
  28.      else
  29.         {
  30. $zia = $i-$z;
  31.       echo $pa[$zia].$tab[$zia];
  32.  
  33.    }
  34.  
  35.  
  36. }
  37.  
  38. for($lol=0;$lol<$b;$lol++)
  39. {
  40. echo $pa[$lol];
  41. }
  42.  
  43.    }
  44.  
  45. ?>

Sorry za nieład w kodzie...
Proszę o pomoc!

To co, był by ktoś w stanie pomóc?

Ten post edytował kayy 1.02.2009, 14:23:17
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 25.08.2025 - 09:17