Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: preg_match niby ok ale nie do końca
Forum PHP.pl > Forum > PHP
phpowiec84
Witam

chcę wyciągnąć z tekstu wszystko pomiedzy tagami
  1. <dt class='css'>tekst</dt>
  2. <dt>tekst</dt>


i napisałem :

  1. preg_match('%<dt(.*?)>(.*?)dt%si',$%string,$matchs);


wg programu : RegexBuddy wyrażenie wyłapuje potrzebne mi dane ,jednak skrypt PHP łapie tylko te z klasą CSS ,

co jest nie tak ?

!*!
A nie możesz użyć strip_tags będzie szybciej.

Poza tym już chyba nawet kolorowanie składni na forum Ci podpowiada...
phpowiec84
nie chodzi tylko sam tekst ale również o tagi <dt> <dd> z całego tekstu (zamieściłem tylko fragment)

naprawdę nikt nie pomoże ?
Fifi209
  1. $%string


A co to za twór?
phpowiec84
lto akurat wypluło w RegexBuddy (bez znaczenia )
Uriziel01
Może nie jestem jakimś guru w reg expach ale:
$%string questionmark.gif,
i co to za nakładanie na siebie znaczników w (.*?) daj tam (.*) lub też (.?)

Jeżeli chcesz łapać też klasę z tego dt no to samo wyrażenie jest niepoprawne, zamiast zwracać 'css' wypluje class='css'.
maly_swd
%<dt(.*?)>(.*?)dt%smu

zobqacz czy twoj sposob dziala na stringu bez enterow
  1. <dt class='css'>tekst</dt><dt>tekst</dt>
Fifi209
Cytat(Uriziel01 @ 15.09.2011, 08:11:59 ) *
Może nie jestem jakimś guru w reg expach ale:
$%string questionmark.gif,

pisałem o tym
Cytat(Uriziel01 @ 15.09.2011, 08:11:59 ) *
i co to za nakładanie na siebie znaczników w (.*?) daj tam (.*) lub też (.?)

Jakie nakładanie?

.*? jest jak najbardziej poprawne, widać że guru nie jesteś ;]
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.