skracanie ciągu znaków w PHP - problem z UTF
Wyniki 1 do 5 z 5

Temat: skracanie ciągu znaków w PHP - problem z UTF

  1. #1
    Bywalec
    Dołączył
    19-10-2005
    Skąd
    Wrocław
    Wpisy
    228
    Punkty
    11

    Domyślny skracanie ciągu znaków w PHP - problem z UTF

    zrobiłem sobie w kodzie źródłowym takie skrocenie:

    Kod PHP:
    substr(strip_tags($this->items[$i]->getDescription(), '<img>'), 0250
    Skrypt ładnie mi czysci znaczniki i nadmiar słów, ale jest jeden mały problem. Chodzi o polskie czcionki w UTF. Niektóre wyswietlane czcionki w UTF składają się w źródle z 2 znaków. Na przykład gdy trafi mi się na samym koncu litera "ą" zostaje ona wyswietlona jako "krzak". Jak temu zaradzić?

    Czy jest jakieś inne rozwiązanie zamiast "substr" - na przykład, by nie skracało ciągu znaków lecz ciągi wyrazów?
    Ostanio edytowane przez hazael : 25-06-2008 17:27
    biżuteria etniczna, orientalna, arabska - https://piekielko.com

  2. Pani Reklamowa
    Pani Reklamowa jest aktywna
    Avatar Panny Google

    Dołączył
    19-08-2010
    Skąd
    Internet
    Postów
    milion
    Pochwał
    setki
  3. #2
    Wyga Jola awatar
    Dołączył
    08-01-2008
    Skąd
    Wrocław
    Wpisy
    3 239
    Punkty
    386

    Domyślny

    Witam,
    ja robię tak:
    $data = trim(strip_tags($data));//usunięcie znaczników i spacji
    $data = substr($data,0,250);//obcięcie
    $a=strrpos($data,"&");//sprawdzenie pozycji początku krzaczka
    if($a!=0)
    $data = substr($data,0,$a);//ucięcie krzaczka
    Pozdrawiam

  4. #3
    Bywalec
    Dołączył
    19-10-2005
    Skąd
    Wrocław
    Wpisy
    228
    Punkty
    11

    Domyślny

    Dzięki - pomogło, chociaz nie rozumiem, dlaczego sugerujesz byc wpisac znak &:
    Kod PHP:
    $a=strrpos($data,"&"); 
    Przeciez w zdaniu taki znak wystepuje praktycznie bardzo rzadko. Nie lepiej zrobic spacje Wtedy ostatnie słowo jest pokazane w całosci :-)?
    Kod PHP:
    $a=strrpos($data," "); 
    ale i tak dzieki - duzo mi to pomogło :-)
    biżuteria etniczna, orientalna, arabska - https://piekielko.com

  5. #4
    Wyga Jola awatar
    Dołączył
    08-01-2008
    Skąd
    Wrocław
    Wpisy
    3 239
    Punkty
    386

    Domyślny

    U siebie pokazuję tylko 20 znaków i na końcu 3 kropki. Opcja z "&" dotyczy cięcia w środku wyrazu jeśli kończy się na niepełnym kodzie literki (&...) brak np ";" - wtedy pojawia sie nasz tajemniczy krzaczek, a zamiana na " " jeśli jest więcej ciętego tekstu i jest prawdopodobieństwo, że coś sensownego się wyświetli. Wiedziałam, że będziesz umiał przerobić ten kod na własny użytek , chociaż większość woli gotowce.

  6. #5
    Wyjadacz nexus246 awatar
    Dołączył
    23-09-2005
    Wpisy
    664
    Punkty
    20
    Witaminy | Ziołolecznictwo
    "Paczem" do "komentarzów" jest odpowiedni komponent.
    --
    Mój priv to nie helpdesk.

Reguły pisania

  • Nie możesz zakładać nowych tematów
  • Nie możesz dodawać wypowiedzi
  • Nie możesz dodawać załączników
  • Nie możesz poprawiać swoich postów
  •