Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> uciete ostatnie slowo
a79rtur
post
Post #1





Grupa: Zarejestrowani
Postów: 331
Pomógł: 1
Dołączył: 23.05.2004
Skąd: Tarnów/Londyn

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


mam skrypt ktory przycina tekst do rozmiarow pola w bazie ,np do 50 znaków, czasem sie zdarzy ze zostanie mi pół slowa uciete na koncu, jak usunac tylko ten ostatni kawalek slowa ?
Go to the top of the page
+Quote Post
SongoQ
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 2 923
Pomógł: 9
Dołączył: 25.10.2004
Skąd: Rzeszów - studia / Warszawa - praca

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


Przycinasz tekst do 50 znakow a nastepnie wywalasz pozostaly tekst do wystapienia spacji, oczywiscie musisz rozpoznac czy ostatni wyraz jest przyciety czy nie.

2 rozwiazanie to tablica.
Go to the top of the page
+Quote Post
DeyV
post
Post #3





Grupa: Zarząd
Postów: 2 277
Pomógł: 6
Dołączył: 27.12.2002
Skąd: Wołów/Wrocław




Kiedyś na forum, ktoś napisał tak:

  1. SELECT LEFT( tresc, IF(LENGTH(tresc)<500, LENGTH(tresc), LOCATE(' ', tresc, 500))) AS wpis
  2. FROM news ;



Kod pobiera maxymalnie 500 znaków z pola tresc. Jeżeli w polu znaków jest więcej, przycina długość do pierwszej spacji wystepującej po 500-tnym znaku.
Trzeba uważać z np. LOCATE(co, gdzie, odkad) - jesli LENGTH(gdzie)<odkad dostaniemy pusty string. I właśnie zlokalizowanie tego zajęło mi większość czasu. Jakoś w manualu chyba zapomnieli o tym napisać, albo ja przeoczyłem.

A teraz pokornie czekam na info, że mozna to zrobić prościej )
P.S. Do zapytania nalezaloby dodac
  1. LENGTH(tresc) AS znakow

i następnie w php sprawdzić:

  1. <?php
  2. If($znakow > 500) { $wpis .= '<a href>wiecej</a>' } 
  3. ?>


(gdzie 500 to ilość znaków, które chcemy wyciągnąć)
Go to the top of the page
+Quote Post
bartyk
post
Post #4





Grupa: Zarejestrowani
Postów: 64
Pomógł: 0
Dołączył: 8.11.2004

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


Ale to jest transfer MySQL -> php, a a79rtur-owi chodziło chyba o transfer w drugą strone.
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: 23.08.2025 - 20:28