Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]preg_match_all wycinanie zawartości ul
mgorka92
post
Post #1





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 27.07.2013

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


Cześć potrzebuję z content strony wyciąć zawartościu znaczników ul ale zawartość każdego ul-a musi mieć osobny klucz mam takie wyrażenie
  1. preg_match_all('/<ul(.*)>(.*)<\/ul>/is',$t,$menu);
ale ono mi cały content wycina ten który jest między pierwszym ul a ostanim ul zamykającym dając takie wyrażenie
  1. preg_match_all('/^(<ul(.*)>)(.*)(<\/ul>)$/is',$t,$menu);
nie otrzymuję wyników. Czy może ktoś mi podpowiedzieć co źle robię?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
b4rt3kk
post
Post #2





Grupa: Zarejestrowani
Postów: 1 933
Pomógł: 460
Dołączył: 2.04.2010
Skąd: Lublin

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


Twoje wyrażenie szuka wszystkiego co znajduje się pomiędzy <ul> a </ul>, tak więc gdy mamy taki przykładowy kod:

  1. <ul>1</ul>
  2. <ul>2</ul>


Prawidłowymi wynikami będzie zarówno:
1
1</ul><ul>2
2

Musisz dodać warunek, że pomiędzy <ul> a </ul> nie może znaleźć się kolejne <ul> lub </ul>. Więc:

  1. preg_match_all('/<ul.*>(.*^[<ul.*>|<\/ul>])<\/ul>/is',$t,$menu);


Czy akurat to konkretne wyrażenie będzie działać? Nie wiem, nie sprawdzałem. Już sobie sam musisz potestować.

Ten post edytował b4rt3kk 27.07.2013, 18:01:35
Go to the top of the page
+Quote Post

Posty w temacie


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.10.2025 - 10:08