Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Jak podzielic tekst na 2 rowne czesci
Forum PHP.pl > Forum > Przedszkole
Legro
Witam mam pewien problem. Pobieram z bazy danych dluzszy tekst (niektore po 3000+ znakow). Jak go mniej wiecej rowno podzielic zebym w $aa['1'] mial 1 czesc tekstu a w $aa['2'] druga czesc tekstu? Nie wiem w ogole jakiej funkcji do tego uzyc.
Lion_87
Możesz np kombinować...
  1. <?
  2. $tekst="123456";
  3. $ile=strlen($tekst);
  4. echo "$ile<br />";
  5. $czesc01 = round($ile/2,0);
  6. $czesc1 = substr($tekst,0,$czesc01);
  7. $czesc2 = substr($tekst,$czesc01,$ile);
  8. echo "$czesc1 - ";
  9. echo "$czesc2";
  10. ?>


to tylko przykład.
Legro
A jest taka mozliwosc zeby oddzielalo sie rowno zdanie po kropce?? Zeby nie bylo przelamania.
Lion_87
Jest możliwość np dzieląc na dwie części w pierwszej sprawdzasz ile jest kropek w tekscie, wybierasz ostatnia, liczysz ile ma znaków czesc pierwsza do ost kropki, ucinasz z głównego tekst do liczby tych znaków.
Ale to tylko przykład...
Legro
Duzo to kodu jest? Jesli bys mogl choc troche napisac, niebardzo wiem jak zaczac tongue.gif
Darti
ej, no pokombinuj, dużo tego nie ma a zawsze sie czegoś nauczysz, w końcu to przedszkole nie ?
strrpos" title="Zobacz w manualu PHP" target="_manual i substr" title="Zobacz w manualu PHP" target="_manual - to tylko dwie funkcje do zastosowania + ten kod od Kolegi Lion_87
Legro
nie mów "ej" tongue.gif


// ehh sory, jestesmy w przedszkolu biggrin.gif
Darti
sorry miało byc "aj" winksmiley.jpg
Lion_87
Dam Ci kawałek (tylko przykład) resztę sam dopisz...

  1. <?php
  2. $tekst="Miracle. Pies. Baba. Jupii";
  3. echo "Tekst: <b>$tekst</b><br />";
  4. $ile=strlen($tekst);
  5. echo "Liczba znakow: <b>$ile</b><br />";
  6. $czesc01 = round($ile/2,0);
  7. $czesc1 = substr($tekst,0,$czesc01);
  8. $czesc2 = substr($tekst,$czesc01,$ile);
  9. echo "Podzial: <b>$czesc1</b> (w pierwszej czesci) -";
  10. echo " <b>$czesc2</b> (w drugiej czesci)<br /><br />";
  11.  
  12. $kropki=explode(".", $czesc1);
  13. $licz=count($kropki)-1;
  14. echo "Liczba kropek( pierwsza czesc): <b>$licz</b><br />";
  15. $ostatnia_linijka=$kropki[$licz];
  16. echo "Ostatnie zdanie po kropce( pierwsza czesc): <b>$ostatnia_linijka</b><br />";
  17. ...
  18. ...
  19. ...
  20. ?>


Efekt końcowy powinien Ci wyjść mniej-więcej taki:
Cytat
Tekst: Miracle. Pies. Baba. Jupii
Liczba znakow: 26
Podzial: Miracle. Pies (w pierwszej czesci) - . Baba. Jupii (w drugiej czesci)

Liczba kropek( pierwsza czesc): 1
Ostatnie zdanie po kropce( pierwsza czesc): Pies
Podzial: Miracle. (w pierwszej czesci) - Pies. Baba. Jupii (w drugiej czesci)
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.