Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Jak procesować stringa
DNMX
post 17.02.2023, 08:52:42
Post #1





Grupa: Zarejestrowani
Postów: 127
Pomógł: 0
Dołączył: 18.09.2021

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


Hej. Mam sobie dośc długi string - ok 50Kb. Jest to kod HTML. Chciałbym teraz, żeby po znalezieniu w nim np. tagu <h5> pewna zmienna była inkrementowana, po znalezieniu <h6> dekrementowana a wszystko co znajduje się między <h1> a </h1> wyłapywane i wrzucane w odpowiednią tablicę. Ogólnie rzecz biorąc, szukam kodu, który będzie przesuwał się po stringu bajt po bajcie i na każdy element jaki chcę eagował jak na event. Podpowiecie, jak się za to zabrać?
Go to the top of the page
+Quote Post
ohm
post 17.02.2023, 09:03:45
Post #2





Grupa: Zarejestrowani
Postów: 619
Pomógł: 143
Dołączył: 22.12.2010

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


wyrażenia regularne + preg_match/preg_replace
Go to the top of the page
+Quote Post
DNMX
post 17.02.2023, 10:03:30
Post #3





Grupa: Zarejestrowani
Postów: 127
Pomógł: 0
Dołączył: 18.09.2021

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


A jeśli nie chcę tylko zastępować stringów ale stworzyć z tego stringa tabelę i powiedzmy, jak znajdę <h6> poruszam się po 1-wszym wymairze tablicy, jak <h5> to po 2-gim, dla każdego <h1> dodaję elementy na 3-cim levelu a jak znajdę </h5> to z powrotem wracam na 2-gi level itd, itp. ? Jak to byś ugryzł ohm?
Go to the top of the page
+Quote Post
viking
post 17.02.2023, 10:22:08
Post #4





Grupa: Zarejestrowani
Postów: 6 365
Pomógł: 1114
Dołączył: 30.08.2006

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


https://www.php.net/manual/en/book.simplexml.php

Ewentualnie prostsze https://simplehtmldom.sourceforge.io/docs/1.9/quick-start/

Ten post edytował viking 17.02.2023, 11:22:18


--------------------
Go to the top of the page
+Quote Post
Salvation
post 18.02.2023, 16:06:13
Post #5





Grupa: Zarejestrowani
Postów: 344
Pomógł: 70
Dołączył: 15.07.2014

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


Nie wiem czy jest sens przeszukiwać HTML w ten sposób - traktując go jak string. Jest libka - np. DomCrawler, w której możesz poruszać się albo poprzez XPath albo zwyczajnie jak w CSS.
Wrzucasz ten HTML co masz jako źródło dla obiektu, podajesz czego szukasz z użyciem metody ->filter() i korzystasz z dalszych, dostępnych metod, np. ->count() i voila.
Go to the top of the page
+Quote Post
ohm
post 18.02.2023, 16:47:32
Post #6





Grupa: Zarejestrowani
Postów: 619
Pomógł: 143
Dołączył: 22.12.2010

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


W sumie racja, wygodniejsze i przyjemniejsze.
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: 28.04.2024 - 01:18