Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Automatyczne domykanie znaczników
SN@JPER^
post
Post #1





Grupa: Zarejestrowani
Postów: 266
Pomógł: 0
Dołączył: 4.01.2007
Skąd: Szczecin

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


Witam,

w jaki sposób napisać skrypt, który automatycznie uwzględniałby domykanie znaczników?

Otóz o to chodzi, że na stronie mam skracanie artykułu po x znakach...

Jeżeli zostanie otwarty znacznik <i>, a tekst zostanie skrócony to czcionka na całej stronie będzie pochyła, jak temu zapobiec?

Napisałem takie coś:

  1. <?php
  2. $tresc = ereg_replace('/&w;/', '',strip_tags($tresc));
  3. ?>


Jednakże nie chciałbym, aby znaczniki były ignorowane, więc poprzestałem...

Pozdrawiam.
Go to the top of the page
+Quote Post
wookieb
post
Post #2





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




Wyrażeniem regularnym szukasz wszystkich otwartych znaczników i je zamykasz.
Coś w ten deseń
Kod
preg_match_all('/<(.*?)>/',$tekst, $matches);

Z matches wyłuskujesz nazwe taga i zamykasz.

Ten post edytował wookieb 12.02.2009, 17:19:03
Go to the top of the page
+Quote Post
SN@JPER^
post
Post #3





Grupa: Zarejestrowani
Postów: 266
Pomógł: 0
Dołączył: 4.01.2007
Skąd: Szczecin

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


Dzięki wielkie, dla ciekawych:

  1. <?php
  2. $tresc = stripslashes($fetch['tresc']);
  3.    preg_match_all('/<(.*?)>/',$tresc, $matches);
  4.    $tresc = substr($tresc, 0,$ile_znakow_wd_news);
  5.    
  6.    foreach ($matches as $val)
  7.    {
  8.        foreach($val as $key)
  9.        {
  10.          
  11.          if($key == "i")
  12.          {
  13.            $tresc = $tresc.'</'.$key.'>';
  14.          }
  15.          
  16.          elseif($key == "b")
  17.          {
  18.            $tresc = $tresc.'</'.$key.'>';
  19.          }
  20.        }
  21.    }
  22. ?>
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: 14.09.2025 - 18:50