Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] preg_match, Czy coś takiego jest możliwe?
maviozo
post 22.11.2010, 02:51:05
Post #1





Grupa: Zarejestrowani
Postów: 197
Pomógł: 24
Dołączył: 22.11.2010

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


Nie jestem mocny w regexpach tongue.gif przede wszystkim nie znalazłem dotychczas rozwiązania, którego szukam. To, czego potrzebuję różni się od przedstawionego przykładu, ale najlepiej oddaje praktycznie wykorzystanie i myślę, że będzie najprościej zrozumieć o co w nim chodzi smile.gif
Źródło:
  1. <div>test</div>
  2. tresc
  3. <a href="/moj_link" target="_blank">test</a>
  4. tekst
  5. <ol start=1><li>test</li></ol>
  6. jeszcze jakieś śmieci
  7. <a href="/moj_link2" target="_blank" class="menulink" id="trzeci" title="tekst">xxx</a>
(wiem, że start=1 można uznać za niefartowne, ale sprawa dotyczy braku uszu)

Czy jest możliwe takie skonstruowanie preg_match, by generował taki rezultat:
Kod
Array
Array
(
    [0] => Array
        (
            [0] => <div>
            [1] => div
        )

    [1] => Array
        (
            [0] => <a href="/moj_link" target="_blank">
            [1] => a
            [2] => href
            [3] => /moj_link
            [4] => target
            [5] => _blank
        )

    [2] => Array
        (
            [0] => <ol start=1>
            [1] => ol
            [2] => start
            [3] => 1
        )

)
i tak dalej. (pomijam w ogóle kwestię treści pomiędzy tagami i tagami zamykającymi)

Wykorzystuję flagę PREG_SET_ORDER. Część takiego wyrażenia umiem skonstruować, ale nie wiem, czy jest możliwe takie skonstruowanie wyrażenia, by "samo się zapętlało". Coś w stylu:
#<([[:alpha:]]*)[i tutaj 'pętla']>#
a jeśli nie, czy jedynym sensownym rozwiązaniem jest najpierw sprawdzenie czy jakieś atrybuty istnieją, a jeśli tak, to dopiero je parsować kolejnym preg_match? To jedyna alternatywa, jaka przychodzi mi do głowy.

Ten post edytował maviozo 22.11.2010, 19:51:14
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: 15.07.2025 - 16:55