Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [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ć(IMG:style_emoticons/default/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?(IMG:style_emoticons/default/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
 
Start new topic
Odpowiedzi (1 - 3)
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ć. [;
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
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 21:08