Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [JavaScript][PHP] Wyrażenie regularne
przemek610
post 14.10.2009, 14:37:06
Post #1





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 10.09.2008

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


Chciałbym z przykładowego tekstu wyciągnąć wszystkie wystąpienia wzorca, przy czym nie wiem ile tych wystąpień będzie:

Na przykładzie:
tekst: <td>Imie</td><td>Nazwisko</td><td>Liczba1</td><td>Liczba2</td>
wzorzec: (?:<td.*>(.*)</td>)+ //zwróci tylko 1 element a nie wszystkie w zależności od środowiska pierwszy albo ostatni

otóż wszystko działa poprawnie kiedy wyrażenie ma format: (?:<td.*>(.*)</td>.*?){4}
niestety ja nie wiem ile będzie wystąpień wyżej wspomnianego wzorca.

Czy istnieje możliwość zaprojektowania wyrażenia regularnego w taki sposób aby obsługiwało ten problem?
P.S. chodzi mi tylko o rozwiązanie oparte na regexp. Pętle połączone w wyrażeniami regularnymi mi nie odpowiadają.

Ten post edytował przemek610 14.10.2009, 14:37:59
Go to the top of the page
+Quote Post
jedrzejbl
post 15.10.2009, 15:09:28
Post #2





Grupa: Zarejestrowani
Postów: 12
Pomógł: 1
Dołączył: 4.08.2009

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


  1. <?php
  2. $dane = "<td>Imie</td><td>Nazwisko</td><td>Liczba1</td><td>Liczba2</td>";
  3. $matches = array();
  4. preg_match_all('/<td.*?>([^<]*)<\/td>/iD', $dane, $matches);
  5. print_r($matches[1]);
  6. ?>

To powinno zadziałać.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 20.07.2025 - 00:09