Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Sprawdzanie ile razy dany div występuje w kodzie
Forum PHP.pl > Forum > Przedszkole
iber
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).
cykcykacz
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.
PrinceOfPersia
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ć?
cykcykacz
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.
Szymciosek
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)?
sajegib
Cytat
A można to jQuery policzyć jeśli nadasz atrybut id.


Skoro ma występować > 1 div z takim atrybutem to raczej class.
Szymciosek
No tak, wtedy to jest bardzo proste, ale autor napisał, że chce sprawdzać po style.
iber
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)
Spawnm
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);

iber
I o to chodziło , dzięki wielkie.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.