Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> substr nie działa
AboutMe
post
Post #1





Grupa: Zarejestrowani
Postów: 261
Pomógł: 0
Dołączył: 24.02.2008

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


Witam,

Chciałbym skrócić text zwracany przez bp_activity_content_body (funkcja Buddypress)

  1. echo substr( bp_activity_content_body(),0,10 )."...";


Niestety funkcja nadal ucina tekst dopiero po 300 znakach. Jak zrobić żeby wyświetlało tylko 10 znaków?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 14)
no_face
post
Post #2





Grupa: Zarejestrowani
Postów: 346
Pomógł: 23
Dołączył: 28.11.2004

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


Tylko dlatego sie tak dzieje, gdyz funkcja ktora wywolujesz nie zwraca stringu. Funkcja, ktora wywolujesz jest tak skonstruowana, ze daje echo funkcji bp_get_activity_content_body() ktora to z kolei cos tam dalej robi.
Go to the top of the page
+Quote Post
AboutMe
post
Post #3





Grupa: Zarejestrowani
Postów: 261
Pomógł: 0
Dołączył: 24.02.2008

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


A da się to jakoś obejść bez grzebania gdzieś głęboko w core?

Ten post edytował AboutMe 26.08.2012, 15:10:11
Go to the top of the page
+Quote Post
no_face
post
Post #4





Grupa: Zarejestrowani
Postów: 346
Pomógł: 23
Dołączył: 28.11.2004

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


Hmm, gdzies gleboko...

Jezeli potrzebujesz tego na stale i ogolnie ma to byc w przyszlosci nie ruszane itd. itd. chodz tutaj juz sie mieszaja templaty z php.

Skrabnij sobie substr w tej funkcji

  1. 1158 function bp_activity_content_body() {
  2. 1159 echo bp_get_activity_content_body();
  3. 1160 }


ktora znajduje sie w pliku: /bp-activity/bp-activity-template.php
Go to the top of the page
+Quote Post
Grzesie.k
post
Post #5





Grupa: Zarejestrowani
Postów: 17
Pomógł: 7
Dołączył: 7.08.2011

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


A może po prostu odczytanie zwartości buforu?
  1. function funkcja(){
  2. bp_activity_content_body();
  3. return $r;
  4. }
  5. echo substr(funkcja(),0,10)."...";


Ten post edytował Grzesie.k 27.08.2012, 00:15:18
Go to the top of the page
+Quote Post
AboutMe
post
Post #6





Grupa: Zarejestrowani
Postów: 261
Pomógł: 0
Dołączył: 24.02.2008

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


Niestety poniższy kod nie działa sad.gif (wyświetla się pełny post):

  1. function funkcja(){
  2. bp_activity_content_body();
  3. $r=bbp_reply_content();
  4. return $r;
  5. }
  6. echo substr(funkcja(),0,10)."...";


Aktualnie chciałbym wyświetlić ostatnie 5 postów z bbPress.

Ten post edytował AboutMe 11.02.2013, 14:05:43
Go to the top of the page
+Quote Post
Niktoś
post
Post #7





Grupa: Zarejestrowani
Postów: 1 195
Pomógł: 109
Dołączył: 3.11.2011

Ostrzeżenie: (10%)
X----


A rzutowanie by nie pomogło?
  1. function funkcja(){
  2. bp_activity_content_body();
  3. $r=(string)bbp_reply_content();
  4. return $r;
  5. }
  6. echo substr(funkcja(),0,10)."...";
Go to the top of the page
+Quote Post
AboutMe
post
Post #8





Grupa: Zarejestrowani
Postów: 261
Pomógł: 0
Dołączył: 24.02.2008

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


Dziwne, teraz mam taki błąd:

Cytat
Fatal error: Cannot redeclare funkcja() (previously declared in /home/wp-content/themes/szablon/bbpress/loop-mysingle-topic.php:8) in /home/wp-content/themes/szablon/bbpress/loop-mysingle-topic.php on line 13



Mój kod:

  1. function funkcja(){
  2. bbp_reply_content();
  3. $r=(string)bbp_reply_content();
  4. return $r;
  5. }
  6. echo substr(funkcja(),0,10)."...";


Samo bbp_reply_content() działa ale wyświetla cały post.

Ten post edytował AboutMe 11.02.2013, 14:40:17
Go to the top of the page
+Quote Post
Niktoś
post
Post #9





Grupa: Zarejestrowani
Postów: 1 195
Pomógł: 109
Dołączył: 3.11.2011

Ostrzeżenie: (10%)
X----


Ech..hmm.Spróbuj jeszcze tak:
  1. function funkcja(){
  2. bp_activity_content_body();
  3. $r=print_r(bbp_reply_content(),true);
  4. return $r;
  5. }
  6. echo substr(funkcja(),0,10)."...";
Go to the top of the page
+Quote Post
AboutMe
post
Post #10





Grupa: Zarejestrowani
Postów: 261
Pomógł: 0
Dołączył: 24.02.2008

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


Niestety błąd jest taki sam.
Go to the top of the page
+Quote Post
!*!
post
Post #11





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

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


Poszukaj pod frazą "truncate" w symfony 2 była dobra funkcja.


--------------------
Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta).
Go to the top of the page
+Quote Post
Niktoś
post
Post #12





Grupa: Zarejestrowani
Postów: 1 195
Pomógł: 109
Dołączył: 3.11.2011

Ostrzeżenie: (10%)
X----


Właśnie doczytałem przeszkodą jest ob_start(), wewnątrz której nie można użyć funkcji print_r.
Może:
  1. function funkcja(){
  2. bbp_reply_content();
  3. $r=bbp_reply_content();
  4. $r2=print_r($r,true);
  5. return $r2;
  6. }
  7. echo substr(funkcja(),0,10)."...";


Ten post edytował Niktoś 11.02.2013, 15:20:52
Go to the top of the page
+Quote Post
AboutMe
post
Post #13





Grupa: Zarejestrowani
Postów: 261
Pomógł: 0
Dołączył: 24.02.2008

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


Ciągle ten sam błąd.
Go to the top of the page
+Quote Post
Niktoś
post
Post #14





Grupa: Zarejestrowani
Postów: 1 195
Pomógł: 109
Dołączył: 3.11.2011

Ostrzeżenie: (10%)
X----


Przyznam ,że też kombinuje hehe:
  1. function funkcja(){
  2. bp_activity_content_body();
  3. return $r;
  4. }
  5. echo substr(print_r(funkcja(),true),0,10)."...";

Może ktoś mądrzejszy się wypowie.

Ten post edytował Niktoś 11.02.2013, 15:57:51
Go to the top of the page
+Quote Post
AboutMe
post
Post #15





Grupa: Zarejestrowani
Postów: 261
Pomógł: 0
Dołączył: 24.02.2008

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


To również nie działa. Trzeba będzie chyba to zrobić od drugiej strony - jquery.
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 - 22:18