Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Skrocenie stringa
jackraymund
post
Post #1





Grupa: Zarejestrowani
Postów: 217
Pomógł: 21
Dołączył: 10.06.2011
Skąd: Głogów

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


Więc mam przykładowy string z wikipedi
Cytat
W tradycyjnych realizacjach Pascala (np. Turbo Pascal) zmienna typu String może przechowywać do 255 znaków, a w definicji String[długość] może przechowywać do długość znaków, a ma rozmiar długość+1 i jest zaimplementowana jako tablica, której element o indeksie 0 przechowuje liczbę znaków w tym ciągu (typu bajt więc maksymalna długość łańcucha wynosi 255). W późniejszych implementacjach tego języka (np. Object Pascal w Delphi) dodano inną formę reprezentacji łańcucha, w którym maksymalna długość wynosi 2^32 bajtów i jest dynamicznie przydzielana w zależności od długości napisu, typ ten jest rozszerzeniem sposobu implementacji używanego przez C, dodano również typ w stylu C (PChar).

I chciałbym aby po 255 stringach zaczęło szukać kropki, i po kropce usunęło reszte i dodało (...)
np.
Cytat
W tradycyjnych realizacjach Pascala (np. Turbo Pascal) zmienna typu String może przechowywać do 255 znaków, a w definicji String[długość] może przechowywać do długość znaków, a ma rozmiar długość+1 i jest zaimplementowana jako tablica, której element o indeksie 0 przechowuje liczbę znaków w tym ciągu (typu bajt więc maksymalna długość łańcucha wynosi 255).(...)

potrzebuje tego do systemu newsów, np. jak jest tutaj
http://eune.leagueoflegends.com/news
Są skrócone newsy, i po kliknięciu wyskakuje cały news.A niechciałbym robić 2 osobnych wersji

Ten post edytował jackraymund 14.03.2012, 15:32:42


--------------------
Wykonuje zlecenia na pobieranie danych ze stron i różne boty.
Go to the top of the page
+Quote Post
poli25
post
Post #2





Grupa: Zarejestrowani
Postów: 239
Pomógł: 20
Dołączył: 19.02.2010

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


IF(strlen($string)>=255)
{
$string=substr($string,0,255)."(...)";
}

Ten post edytował poli25 14.03.2012, 15:18:52
Go to the top of the page
+Quote Post
lobopol
post
Post #3





Grupa: Zarejestrowani
Postów: 1 729
Pomógł: 346
Dołączył: 4.04.2009

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


Po pierwsze "skrócenie"
Najłatwiej to zrobisz dzieląc to sobie na kilka kroków:
1. Zliczenie czy ciąg ma przynajmniej 255 znaków mb_strlen
2. Jeżeli ma to użyć na nim metody strpos z 3 parametrem równym 255 i sprawdzić czy nie zwróci false
3. masz teraz pozycje pierwszej kropki po 255 znakach mb_substr z odpowiednimi parametrami i dodajesz te trzy kropki


--------------------
Go to the top of the page
+Quote Post
jackraymund
post
Post #4





Grupa: Zarejestrowani
Postów: 217
Pomógł: 21
Dołączył: 10.06.2011
Skąd: Głogów

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


@edit
  1. IF(strlen($rekord['opis'])>=255)
  2. {
  3. $string = strpos($rekord['opis'], ".",255);
  4. $string=substr($rekord['opis'],0,$string).".(...)";
  5. echo $string;
  6. }
  7. else
  8. {
  9. echo $rekord['opis'];
  10. }


działa pięknie, dziękuje wam obu

Ten post edytował jackraymund 14.03.2012, 15:31:12


--------------------
Wykonuje zlecenia na pobieranie danych ze stron i różne boty.
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: 20.08.2025 - 13:21