Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Sprawdzanie ile razy dany div występuje w kodzie
iber
post 24.04.2013, 19:29:57
Post #1





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 5.01.2012

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


Jak w temacie. Nie wiem jak sprawdzić ile razy konkretny div występuje w kodzie strony.

Chodzi o to jak sprawdzić ile razy w kodze występuje ten ciąg znaków :
  1. <div style="display: inline-block; vertical-align: middle; font: bold 20px/32px &quot;Trebuchet MS&quot;; margin-left: 0px;">


Próbowałem to zrobić w ten sposób :
  1. $link = 'http://www.costam.com';
  2. $strona = file_get_contents($link);
  3. $cos = '<div style="display: inline-block; vertical-align: middle; font: bold 20px/32px &quot;Trebuchet MS&quot;; margin-left: 0px;>';
  4. echo substr_count($cos,$strona);


Zwraca mi 0 , chociaż na stronie są 3 takie divy.

Próbowałem też :

  1. $arr = array($strona);
  2. $valcounts = array_count_values( $arr );
  3. echo $valcounts['<div style="display: inline-block; vertical-align: middle; font: bold 20px/32px &quot;Trebuchet MS&quot;; margin-left: 0px;>'];


Ale nie zwraca mi nic (pusta strona).
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 9)
cykcykacz
post 24.04.2013, 19:34:04
Post #2





Grupa: Zarejestrowani
Postów: 550
Pomógł: 9
Dołączył: 29.05.2009
Skąd: Ostrów Wielkopolski

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


php preg_match_all https://www.google.pl/#hl=pl&sclient=ps...366&bih=577
To jest lekarstwo na twoje zmartwienie.
Edit.
A można to jQuery policzyć jeśli nadasz atrybut id.

Ten post edytował cykcykacz 24.04.2013, 19:48:00
Go to the top of the page
+Quote Post
PrinceOfPersia
post 24.04.2013, 21:17:17
Post #3





Grupa: Zarejestrowani
Postów: 717
Pomógł: 120
Dołączył: 18.04.2009

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


Cytat
A można to jQuery policzyć jeśli nadasz atrybut id.

dlaczego jak nada atrybut id? A bez tego by nie mógł policzyć?


--------------------
Go to the top of the page
+Quote Post
cykcykacz
post 24.04.2013, 21:59:41
Post #4





Grupa: Zarejestrowani
Postów: 550
Pomógł: 9
Dołączył: 29.05.2009
Skąd: Ostrów Wielkopolski

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


Nie wiem nie znam tak się na Jquery.
Gdzieś czytałem albo oglądałem tutorial z Jquery i utkwiło mi w pamięci.
Go to the top of the page
+Quote Post
Szymciosek
post 24.04.2013, 22:24:37
Post #5





Grupa: Zarejestrowani
Postów: 1 168
Pomógł: 126
Dołączył: 5.02.2010
Skąd: Świdnica

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


Da się w Jquery: http://jsfiddle.net/r6ASt/1/
Może nie jest to jakieś super rozwiązanie, ale sprawdza się.

Znalazłem jeszcze: http://stackoverflow.com/questions/4291605...style-attribute ale nie zagłębiałem się dokładniej, próbowałem po swojemu zrobić.

Do autora:

co zwraca var_dump($strona)?

Ten post edytował Szymciosek 24.04.2013, 22:24:44
Go to the top of the page
+Quote Post
sajegib
post 24.04.2013, 22:31:27
Post #6





Grupa: Zarejestrowani
Postów: 352
Pomógł: 59
Dołączył: 16.01.2013

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


Cytat
A można to jQuery policzyć jeśli nadasz atrybut id.


Skoro ma występować > 1 div z takim atrybutem to raczej class.
Go to the top of the page
+Quote Post
Szymciosek
post 24.04.2013, 22:33:22
Post #7





Grupa: Zarejestrowani
Postów: 1 168
Pomógł: 126
Dołączył: 5.02.2010
Skąd: Świdnica

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


No tak, wtedy to jest bardzo proste, ale autor napisał, że chce sprawdzać po style.
Go to the top of the page
+Quote Post
iber
post 6.05.2013, 21:36:27
Post #8





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 5.01.2012

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


Trochę późno odpisuję ale , jak za pomocą preg_match_all policzyć wszystkie interesujące mnie divy?

Taki div jak w pierwszym poście występuje losowo raz , dwa albo trzy w kodzie strony (nie mojej , która ma 22k linijek).
Jeżeli występuje raz to pobieram pierwszy wynik , jeżeli 2 lub 3 to chcę pobrać drugi wynik. I pytanie jak.
Z pobieraniem kodu nie mam problemu , tylko że jak występuje więcej niż 1 raz to muszę użyć preg_match_all zamiast preg_match.
Czy ktoś może mi pomóc ? smile.gif


var_dump($strona) zwraca : string(1030557) + cała strona (czyli 22k linijek kodu)
Go to the top of the page
+Quote Post
Spawnm
post 6.05.2013, 21:47:53
Post #9





Grupa: Moderatorzy
Postów: 4 069
Pomógł: 497
Dołączył: 11.05.2007
Skąd: Warszawa




Zamień $cos z $strona w substr_count smile.gif
  1. $link = 'http://www.costam.com';
  2. $strona = file_get_contents($link);
  3. $cos = '<div style="display: inline-block; vertical-align: middle; font: bold 20px/32px &quot;Trebuchet MS&quot;; margin-left: 0px;>';
  4. echo substr_count($strona, $cos);

Go to the top of the page
+Quote Post
iber
post 6.05.2013, 22:10:02
Post #10





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 5.01.2012

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


I o to chodziło , dzięki wielkie.
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: 24.07.2025 - 23:26