Witam serdecznie,
Mam różnej długości artykuły. Artykuł przechowuję w zmiennej $text.
Artykuły zawierają HTML (linki, pogrubienia, zdjęcia itp).

Potrzebuję rozbić tekst i przypisać do 4 zmiennych:
- $zmienna1 = pierwsze 400 wyrazów,
- $zmienna2 = kolejne 600 wyrazów,
- $zmienna3 - kolejne 300 wyrazów,
- $zmienna4 - WSZYSTKO co pozostało smile.gif

Potrzebuję całe wyrazy, nie ucięte w połowie tagi html (obrazki, pogrubienia itp).

Wie ktoś może jak to zrobić?

Mam taką funkcję która działa poprawnie (jeśli chodzi o dzielenie tekstu z zachowaniem html):

  1.  
  2. function trim_text($input, $length, $ellipses = true, $strip_tag = true,$strip_style = true) {
  3. //strip tags, if desired
  4. if ($strip_tag) {
  5. $input = strip_tags($input);
  6. }
  7.  
  8. //strip tags, if desired
  9. if ($strip_style) {
  10. $input = preg_replace('/(<[^>]+) style=".*?"/i', '$1',$input);
  11. }
  12.  
  13. if($length=='full')
  14. {
  15.  
  16. $trimmed_text=$input;
  17.  
  18. }
  19. else
  20. {
  21. //no need to trim, already shorter than trim length
  22. if (strlen($input) <= $length) {
  23. return $input;
  24. }
  25.  
  26. //find last space within length
  27. $last_space = strrpos(substr($input, 0, $length), ' ');
  28. $trimmed_text = substr($input, 0, $last_space);
  29.  
  30. //add ellipses (...)
  31. if ($ellipses) {
  32. $trimmed_text .= '...';
  33. }
  34. }
  35.  
  36. return $trimmed_text;
  37. }



tylko nie wiem jak przypisać przedziały:
- $zmienna1 = pierwsze 400 wyrazów,
- $zmienna2 = kolejne 600 wyrazów,
- $zmienna3 - kolejne 300 wyrazów,
- $zmienna4 - WSZYSTKO co pozostało



Nie wiem czy zrozumiale wytłumaczyłem swój problem?