Proste html dom hosting Drupal
Prosty HTML DOM Parser jest jedną z najlepszych rzeczy, które mi się stało. Pamiętam dzień, kiedy używałem wyrażeń regularnych i funkcji preg_match_all pobrać wartości z zeskrobywanych tekstu, nie były tak dobre. Ale odkąd znalazłem ten kod HTML DOM Parser, życie było zbyt łatwe, jeśli chodzi o pobieranie danych i wydobywania wartości ze stron html.
Podczas moich pierwszych dni podczas korzystania z tego skryptu, byłem zdezorientowany sporo czasu. Parser jest rzeczywiście tak niesamowite, że dostarcza zbyt wiele funkcji i może zrobić prawie wszystko, co chcesz parser zrobić. Jedynym problemem jest to, aby pamiętać, składnię i sposób wywoływania różnych funkcji wraz z licznymi różnych parametrów dla każdego z nich.

Zrobiłem listę kodów, które używam od czasu do czasu, że może się przydać dla was wszystkich. Czytaj dalej, aby zrozumieć wykorzystanie prostego HTML parser DOM i dostać gotowych kodów php na to samo.
Pobierania i przechowywania danych strukturalnych
Dane te mogą być uzyskane z różnych źródeł, głównie trzy. URL, statyczne pliku lub String HTML. Użyj następującego kodu, aby utworzyć DOM z trzech różnych alternatyw.
Znalezienie elementów HTML w oparciu o ich nazwy znaczników
Załóżmy, że użytkownik chce znaleźć każdy i każdy obraz na stronie internetowej lub powiedzieć, za każdym hiperłącze. Będziemy za pomocą funkcji „znajdź”, aby wyodrębnić te informacje od obiektu. Oto jak to zrobić za pomocą prostego HTML parser DOM:
Wyodrębnianie wartości atrybutów z elementami
Załóżmy, że chcemy uzyskać nazwy wszystkich pól wejściowych na stronie internetowej, powiedzmy na przykład nimishprabhu.com/chrome-extension-hello-world-example.html. Teraz, jeśli zobaczysz stronę internetową można zauważyć, że jest to forma komentarza na stronie, która ma pola wprowadzania. Należy pamiętać, że pole komentarz jest element textarea, a nie elementem wejściowym, więc nie zostaną wykryte. Ale do wykrywania resztę widocznych, jak również ma ukrytych pól można użyć następującego kodu:
Elementy do filtrowania na podstawie wartości jego atrybutów
Gdy deweloper projektuje strony, używa różnych atrybutów jednoznacznie identyfikować i klasyfikować informacje na stronie internetowej. Analizator składni nie jest człowiekiem, a tym samym nie może wyobrazić sobie różnicę, ale może wykryć te atrybuty i filtrować dane wyjściowe tak aby uzyskać precyzyjny zestaw danych. Weźmy przykład praktyczny dla lepszego zrozumienia. Jeśli widzisz tę stronę. https://www.phpbb.com/community/viewtopic.php?f=46t=543171 widać strona jest podzielona na nagłówka, treści i stopki. Teraz nawet zawartość jest dodatkowo podzielona na sub stanowisk. Ta strona ma tylko 1 post ale postanowiłem wybrać ten, ponieważ zawiera sporo hiperłączy. Teraz załóżmy, że chciał, aby wyodrębnić tylko te linki w poście, a nie całą stronę. Podejście to powinno być następujące:

Sprawdzić źródło strony internetowej. Dowiedzieć się, czy linki są następujące jakiś wzór. Jeśli przyjrzeć się bliżej można zauważyć, że wszystkie z nich mają class =”postlink”. Spowoduje to, że wyodrębnianie nich kawałek ciasta. Przeczytaj poniższy kod, aby zobaczyć, jak filtrować elementy HTML opartych na wartościach atrybutów.
Jest coś warto zauważyć tutaj, można użyć „” i „#” prefiksy filtrować klasy i atrybuty id odpowiednio. Więc powyższy kod będzie działać bez zmian, jeśli użyć filtru jako:
dopasowywania wzorca podczas filtrowania atrybutów elementów
Rozważ powyższy przykład, gdzie są wszystkie linki wydobycia ze stanowiska. Powiedzmy, że chcesz znaleźć jedynie linki na forach podrzędnych w społeczności. Jeśli zauważysz, wszystkie z nich zaczynają się www.phpbb.com/community/viewforum.php. Warto więc filtrować za pomocą hiperłączy „zaczyna się od” filtr do pobierania tylko linki zaczynające www.phpbb.com/community/viewforum.php
Podobnie, powiedzieć, jeśli chcesz znaleźć wszystkie linki zawierające phpBB.com następnie można filtrować za pomocą „zawiera” filtr w następujący sposób:
Jeżeli jesteś pewien, o jedynej części końcowej wartości atrybutu. Powiedzmy, na przykład jesteś złomowania stronę internetową, która zawiera liczne elementy DIV. Te elementy div id mają coś takiego atrybutu:
i tak dalej.
Następnie można znaleźć takie elementy div za pomocą „kończy się” filtr w następujący sposób:
Dodawanie / zmiana atrybutów elementów
Powiedzmy, że chcesz zmienić wartość atrybutu określonego elementu. Na przykład jeśli chce zmienić wszystkie hiperłącza mający class = postlink do class = topiclink, można to zrobić w następujący sposób:
Znalezienie n-ty element z przeanalizowane dane
Należy zauważyć, że numeracja elementów zaczyna się od 0, a nie 1. Tak więc pierwszym elementem będzie można znaleźć na 0th lokalizacji. Załóżmy, że chcesz, aby wyodrębnić hiperłącze z 3rd związek z klasy postlink na stronie internetowej, można użyć następujące podejście:
Manipulowanie wewnętrzną zawartość znaczników
Jeśli chcesz usunąć wewnętrzne zawartości div z id jako treści, można to zrobić w następujący sposób:
Jeśli chcesz dołączyć tekst do istniejącej zawartości, można to zrobić w następujący sposób:
Inorder przygotowałeś tekst do istniejącej zawartości, można użyć następującego kodu:
Owinąć zawartość elementu wewnątrz nowego elementu
Załóżmy, że masz istniejącej zawartości div z id, teraz wykonane div otoki i chce załączyć div zawartości w div otoki. Oto jak to zrobić:
Obchodzenie problemów wyciek pamięci podczas korzystania z PHP Prosty HTML DOM Parser
Ostatni, ale na pewno nie najmniej, obsługi problem wycieku pamięci. Po rozpoczęciu korzystania z tego skryptu obszernie napotkacie pamięci wyczerpane błędy i będzie się zastanawiać, co jest złego w swoim skrypcie. Problem może być spowodowany nie obchodzenia problemu wycieku pamięci. Nie będę mówić o szczegółach, co jest przeciek pamięci lub jak ten problem jest spowodowany, ale można przeczytać trochę o tym tutaj .Aby obsługiwać ten problem nie zapomnij wyczyścić zmienna $ html stworzony i wyłączenie go raz nie jest wymagana dalej.
Można również użyć funkcji chłodnym stworzony przez Flash Thunder z stackoverflow.com, to sprawdzić tutaj wraz ze swoim przykładzie użytkowania.
Chyba te przykłady są wystarczające, aby rozpocząć pracę z użyciem PHP Prosty HTML DOM Parser. Jeśli masz jakiekolwiek wątpliwości lub pytania skorzystaj z poniższego formularza komentarz. Dodam więcej przykładów jak za wniosków i zapytań. Nadzieję, że ten artykuł pomoże Ci zeskrobać danych skutecznie.
Ten wpis został opublikowany w PHP.
4 na myśli “ Top 10 najlepszych przykładów wykorzystania PHP Prosty HTML DOM Parser ”
Cześć. sprawdź html
100 Bullets (czytniki Dojrzałe) nr 100 w pobliżu Mint [46373] MAXIMUM_ORDER_TEXT
$ 4.99
Z tego, chcę tylko tytuł tj złom „100 Bullets (Czytelnicy dojrzałą) nr 100 w pobliżu Mint”
Ale jestem coraz zarówno .Tutaj jest o / p
[PRODUCT_TITLE] => Array
(
[0] => 100 kule (czytniki Dojrzałe) # 30 w pobliżu mięty
[10]
MAXIMUM_ORDER_TEXT
[1] => $ 1.99
[2] => 100 kule (czytniki dojrzałą) nr 100 w pobliżu mięty
[46373]
MAXIMUM_ORDER_TEXT
[3] => $ 4.99
[4] => 100 kule (czytniki dojrzały) 32 w pobliżu mięty
[12]
MAXIMUM_ORDER_TEXT
[5] => $ 1.99
[6] => 100 kule (czytniki dojrzały) 34 w pobliżu mięty
[14]
MAXIMUM_ORDER_TEXT
[7] => $ 1.99
[8] => 100. rocznica specjalne Strażnicy Galaktyki (one shot) 2014 nr 1 (wariant) blisko mięty
proszę dać mi znać, co zrobić.
Obserwować wzorzec i odpowiednio podzielić ciągi uzyskane.
$ Tytułowy = eksplodować ( „[„, $ PRODUCT_TITLE);
lub
$ Title = explode ( „w pobliżu Mint”, $ PRODUCT_TITLE);
Następnie użyj $ tytuł [0], aby uzyskać ostateczny wynik.
Zaufaj, że to pomaga.
Dzięki pozdrowienia