Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]function skroc($tekst, $il_znakow) - kto pomoże zmodyfikować?
ewaslawek5
post
Post #1





Grupa: Zarejestrowani
Postów: 89
Pomógł: 2
Dołączył: 5.11.2007

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


Witam
Posiadam funkcję o nazwie skroc, jej zadanie to skrócić długi tekst do wybranej ilości wyrazów i wstawienie na końcu '...' trzech kropek, funkcja działa prawidłowo skraca długi tekst, chciałbym ją zmodyfikować w taki sposób, że jeśli w tekście przeznaczonym do skrócenia znajdował się bardzo długi wyraz np. 'wwwwwwwiiiiiiiiiiiiiiiiiiitttttttttttt
tttttttttaaaaaaaaaaaaaaaaaaaammmmmmmmmmmmm' chciałbym abym mógł mieć możliwość w takich długich wyrazach określać ilość wyświetlania liter w poszczególnych wyrazach...

Na pewno przytoczona prze zemnie funkcja przyda się komuś. Liczę ka Waszą pomoc!

  1. function skroc($tekst, $il_znakow)
  2. {
  3.  
  4. $tekst = eregi_replace("<br />","<br>",$tekst);
  5. $tekst = explode(" ",$tekst);
  6. for ($i=0; $i < $il_znakow; $i++) {
  7. if (eregi("^\[([0-9]+):(p|l|s)(\])$",$tekst[$i])) {
  8. $tekst[$i] = "";
  9. }
  10. $wynik = $wynik.$tekst[$i]." ";
  11. }
  12. if ($tekst[$i+1]) $wynik = $wynik."...";
  13. return $wynik;
  14.  
  15. }


Ten post edytował ewaslawek5 10.02.2011, 10:49:38


--------------------
Dobro popłaca - zawsze !
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
wookieb
post
Post #2





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




Przenoszę do żłobka.


--------------------
Go to the top of the page
+Quote Post
ewaslawek5
post
Post #3





Grupa: Zarejestrowani
Postów: 89
Pomógł: 2
Dołączył: 5.11.2007

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


I nic.......... nie widać i nie słychać sad.gif ....ech


--------------------
Dobro popłaca - zawsze !
Go to the top of the page
+Quote Post
Daiquiri
post
Post #4





Grupa: Administratorzy
Postów: 1 552
Pomógł: 211
Dołączył: 7.07.2009
Skąd: NJ




Nie podbijaj tematu, napisałeś go raptem 50 minut temu. Napisz w czym masz konkretnie problem. Przecież żeby kontrolować długość ostatniego wyrazu wystarczy tak na dobrą sprawę skorzystać z substr i strlen.

@down:
A potrzebujący = Ty smile.gif.
Powód edycji: [Daiquiri]:
Go to the top of the page
+Quote Post
ewaslawek5
post
Post #5





Grupa: Zarejestrowani
Postów: 89
Pomógł: 2
Dołączył: 5.11.2007

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


Dobra wysiliłem się i sam znalazłem odpowiedź.
Poniżej gotowe rozwiązanie:
  1. function skroc($tekst, $il_wyrazow, $il_znakow_w_slowie)
  2. {
  3.  
  4. $tekst = eregi_replace("<br />","<br>",$tekst);
  5. $tekst = explode(" ",$tekst);
  6. for ($i=0; $i < $il_wyrazow; $i++) {
  7. $wyraz = $tekst[$i];
  8. if (strlen($wyraz) > $il_znakow_w_slowie){$wyraz = substr($wyraz, 0,$il_znakow_w_slowie); $wynik = $wynik.$wyraz."...";}else{$wynik = $wynik.$wyraz." ";}
  9.  
  10. }
  11. if ($tekst[$i+1]) $wynik = $wynik."...";
  12. return $wynik;
  13.  
  14. }

Niżej sposób korzystania:
  1. $tytul = skroc("$tytul", 6, 15);


PS
Nie podbijam tematu, tylko chciałem pomóc potrzebującemu....


--------------------
Dobro popłaca - zawsze !
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 19.08.2025 - 13:13