Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Taki ?
Forum PHP.pl > Forum > Przedszkole
rafcio8405
Mam problem nie wiem jak zacząć skrypt, który ma za zadanie rozpoznać tagi!!
Np.:

Kod
<tytul>Tytul dokumentu</tytul>


z tego tagu chciał bym wyciągnąć treść, która się znajduje między <tytul> i </tytul>. Myśałem nad wyrażeniami regularnymi, ale nie weim jak to zacząć?? Bo jakoś się nie udaje.
kicaj
  1. <?php
  2. preg_replace( '^<tytul>(.+)</tytul>$', '1', $text );
  3. ?>

Nie wiem czy zadziala, ale bedzie podobnie wygladalo smile.gif
Dabroz
Jeśli już to
  1. <?php
  2.  
  3. $title=preg_replace('#<title>(.*?)</title>#si','1',$html);
  4. ?>


(nie zakładaj że cały dokument HTML to tyko <title>foo</title>;))

PS. Świetny tytuł tematu...
kicaj
Cytat(Dabroz @ 2004-08-07 19:56:16)
(nie zakładaj że cały dokument HTML to tyko <title>foo</title>;))

Wlasnie, wiedzialem ze cos jest nie tak...
rafcio8405
Chyba źle mnie zrozumieliście mam plik .txt a wnim własne tagi typu [b]<tytul>. <autor>[b], które tak samo się kończą i między nimi chcem wyciągnąć coś i to co wy podaliście to jakoś nie działa!!
invx
a tym pliku to masz tylko jedne tagi? czy wiecej, sa w lini, czy kazda paraw nowch liniach

P.S.
rafcio8405 fajny avatar smile.gif
Dabroz
Przerób sobie.
  1. <?php
  2.  
  3. $html=file_get_contents('http://www.wp.pl');
  4.  
  5. $title=preg_split('#<title>(.*?)</title>#si',$html,-1,PREG_SPLIT_DELIM_CAPTURE);
  6.  
  7. $title=$title[1];
  8.  
  9. echo 'Tytuł <tt>wp.pl</tt> to <b>'.$title.'</b>';
  10.  
  11. ?>
rafcio8405
Invx ten plik wygląda tak:

Kod
<tytul>Tytuł dokumentu</tytul>
<autor>Autor dokumentu</autor>
<data>Data utwożenia</data>
<tresc>Treść dokumentu, która może
być w wielu liniach i może zawierać tagi specyficzne dla HTML</tresc>


Tak to ma wyglądać i nie wiem jak o wyciągnąć może troche do BBCode
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.