System newsów w php

Witam,

Wiem że może ten temat gdzieś już jest ale innych nie umiem zastosować.

niedawno zacząłem przygodę z php

chciałbym stworzyć własny system newsów (na stronie głównej).

Mam już panel, stronę do wyświetlnia.

Natomiast na stronie news.php (tu jest wyświetlana lista newsów) chciałbym ograniczyć ilość znaków wyświetlanej z treści newsa pobranego z MySQL

<?php

include("connect.php"); // 1

$query = mysql_query("select * from news order by id desc limit 0,10"); // 2

while($rekord = mysql_fetch_array($query))

{

$naz .= ''.$rekord[1].' Autor: '.$rekord[3].' - '.$rekord[2].''; // 3

}

echo '
  • ‘.$naz.’
    '; // 4 ?>[/code]

powyżej kod php pliku news.php

jak ograniczyć ilość wyświetlanych danych z rekordu 2?

próbowałem różnych metod ale nie poskutkowały.

Najlepiej by było żeby jeśli ilość znaków jest powyżej jakiejś ilości (jeszcze nie wiem bo nie napisałem cssa i nie wiem jak się ułoży) to żeby dodawało “…” a jeśli nie to żeby artykuł normalnie się skończył.

Pozdrawiam

http://php.net/manual/en/function.substr.php

substr($rekord[4], 0, $limit);

To nie takie proste. Powstaje problem niezamkniętych tagów i ucinania całych wyrazów substr to metoda “na chama”. Zacznij od szukania funkcji która podomyka tagi, a przycinającą już samemu można łatwo napisać.

a, mógłby mi ktoś to pomóc zrobić?

na razie jeszcze kuleję z php :slight_smile:

http://forum.php.pl/handyHtml-t73690.html

Ja też na własną stronę musiałem trochę pokombinować. W moim przypadku zrezygnowałem z linków na głównej, kasując wszytko znajdujące się między znacznikami <>. Dało to całą treść, nie muszę się martwić o ucięte linki. Wtedy mogłem po prostu ucinać treść. Tu miałem kolejny problem, może uciąć wyraz w połowie co mało estetycznie wygląda. Dodatkowo przy ucinaniu czasami w końcach, gdzie były polskie znaki wyskakiwali jakieś krzaczki, (np. znak zapytania na czarnym tle). Kolejnym rozwiązaniem było zastosowanie ucinania tekstu powyżej 120 znaków, aż znajdzie spacje i dodać na końcu …

Usuwałem znaczniki poleceniem preg_replace, następnie obliczało się położenie spacji dalej niż 120 znak i ucinanie poleceniem substr do tej spacji.