Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Wyrażenia regularne w PHP kod HTML

25 Mar 2020 09:30 108 1
  • Poziom 5  
    Dzień dobry
    nie wiem jak wydobyć konkretną wartość ze zmiennej w której znajduje się kod html.

    Dokładnie chcę pobrać cały link o klasie abc który znajduje się w konkretnym miejscu.
    Niestety na stronie mam go w kilku miejscach.
    Interesuje mnie tylko jedno miejsce w ścieżce ->klasa3 >klasa4 >abc

    Przykład:
    Code:
    <p class="klasa1">
    
    <div class="klasa2">
    <a class="abc">
    </a>
    </div>
    </p>

    <p class="klasa3">
    <div class="klasa4">
    <a class="abc">
    </a>
    </div>
    </p>



    próbuje użyć
    Code:
    if(preg_match_all('#<a class="abc">(.*?)</a>#is', $zmienna, $wyniki)


    jednak pokazuje to mi 2 elementy z klasy abc. Chce tylko z wyżej podanej ścieżki.

    Czy jest możliwość zawęzić ilość wyszukanych wyników do np. 15?
  • Poziom 23  
    Koniecznie musi być to być regexp? IMHO, wygodniej i bardziej niezawodnie można to uzyskać za pomocą DOM. LoadHTMLFile, metoda getElementsByName("a"), potem dla każdego elementu listy, idąc po parentNode w górę tak długo jak parentNode!=NULL, sprawdzać tag oraz nazwę i wartość atrybutu.