Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [HTML][MySQL][PHP]pierwsze 100 znaków newsu na stronie głównej
simi20
post
Post #1





Grupa: Zarejestrowani
Postów: 17
Pomógł: 1
Dołączył: 19.02.2006

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


Witajcie
Mam pytanie do was przyjaciele jak macie rozwiązaną kwestię aktualności na stronach?
Ponieważ cały panel sobie napisałem wszystko działa prawidłowo ale... no właśnie to ale.
W panelu mam dodany edytor Wysiwyg Tinymce do elementu textarea gdzie wpisuje treści wiadomości przez co wpisy są w elementach
  1. <p>

No i teraz gdy np. wyświetlam ostatnich 5 newsów i pobieram dla nich początkowe powiedzmy 100 znaków (cały wpis ma powiedzmy 500znaków) to nie mam na końcu elementu zamykającego
  1. </p>

I teraz pytanie jak to rozwiązaćquestionmark.gif?czy dodać jeszcze jeden element textarea ktory będzie bez edytora Tinymce czyli wpis w nim nie będzie objęty elementami
  1. <p></p>
na początku gdzie będzie wpisywany tekst który będzie się wyświetlał na początkowej stronie czyli te 100 znaków??
czy może macie jakieś inne rozwiązanie?questionmark.gif np. sprawdzić czy na końcu jest tag zamykający
  1. </p>
i jeśli go nie ma to żeby go dopisać.
Z góry dziękuję za pomoc, pozdrawiam
Go to the top of the page
+Quote Post
erix
post
Post #2





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Ręcznie dzielę; masz w TinyMCE takie coś, jak pagebreak; wstawia w treść komentarz i nie trzeba się z tym męczyć. [;


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
Bartłomiej Skwar...
post
Post #3





Grupa: Zarejestrowani
Postów: 17
Pomógł: 9
Dołączył: 2.01.2012

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


Ja osobiście wyświetlając zajawki artykułów na głównej wyświetlam jest bez tagów html. Tylko ograniczenie znaków.
Dlaczego? Na przykład gdy w jednym artykule wyśrodkuję tekst, a w innym wyrównam do lewej czy prawej - niszczy to układ na "głównej".
Jeśli jednak chcesz zamykać otwarte tagi - podrzucam Ci rozwiązanie, jakie znalazłem w google:


  1. /** * close all open xhtml tags at the end of the string
  2.  
  3.  * * @param string $html
  4.  
  5.  * @return string
  6.  
  7.  * @author Milian <mail@mili.de>
  8.  
  9.  */function closetags($html) {
  10.  
  11. #put all opened tags into an array
  12.  
  13. preg_match_all('#<([a-z]+)(?: .*)?(?<![/|/ ])>#iU', $html, $result);
  14.  
  15. $openedtags = $result[1]; #put all closed tags into an array
  16.  
  17. preg_match_all('#</([a-z]+)>#iU', $html, $result);
  18.  
  19. $closedtags = $result[1];
  20.  
  21. $len_opened = count($openedtags);
  22.  
  23. # all tags are closed
  24.  
  25. if (count($closedtags) == $len_opened) {
  26.  
  27. return $html;
  28.  
  29. }
  30.  
  31. $openedtags = array_reverse($openedtags);
  32.  
  33. # close tags
  34.  
  35. for ($i=0; $i < $len_opened; $i++) {
  36.  
  37. if (!in_array($openedtags[$i], $closedtags)){
  38.  
  39. $html .= '</'.$openedtags[$i].'>';
  40.  
  41. } else {
  42.  
  43. unset($closedtags[array_search($openedtags[$i], $closedtags)]); }
  44.  
  45. } return $html;}
  46.  
  47.  
  48. var_dump("<p>juuhdiwdhd<b>effewff<u>efwef</u>"); // string(35) "<p>juuhdiwdhd<b>effewff<u>efwef</u>"
  49.  
  50. var_dump(closetags("<p>juuhdiwdhd<b>effewff<u>efwef</u>")); // string(43) "<p>juuhdiwdhd<b>effewff<u>efwef</u></b></p>"
Go to the top of the page
+Quote Post
simi20
post
Post #4





Grupa: Zarejestrowani
Postów: 17
Pomógł: 1
Dołączył: 19.02.2006

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


Dziękuje za porady osobiście skorzystałem z funkcji strip_tags() i wszystko funkcjonuje prawidłowo.
Dziękuję, temat do zamknięcia.
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 - 03:15