Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] wyrażenia regularne
-wujeke-
post
Post #1





Goście







Witam i kurcze, znowu mam ten sam problem.... próbuję i próbuję napisać wyrażenie regularne dla poniższego tekstu:

  1. <div id="PeopleOnline"><p class="top"><span>97,583</span> people currently online</p>


interesuje mnie tylko liczba (z przecinkiem)



to co naskrobałem pewnie nawet strach analizować, ale:


  1. preg_match('/^<div id=\"PeopleOnline\"><p class=\"top\"><span>[0-9,]<\/span>$/', $strona, $wyjscie);
  2. print_r($wyjscie[2]);
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
zegarek84
post
Post #2





Grupa: Zarejestrowani
Postów: 1 332
Pomógł: 294
Dołączył: 12.10.2008
Skąd: Olkusz

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


Cytat(wujeke @ 14.04.2013, 17:41:40 ) *
Witam i kurcze, znowu mam ten sam problem....

skoro próbujesz parsować strony to nie tędy droga... fakt, możesz tak douczyć się wyrażeń regularnych ale nie tędy droga...
masz na szybko rozwiązanie bez wyr. reg.
  1. <?php
  2. error_reporting(E_ALL | E_STRICT);
  3. ini_set('display_errors', '1');
  4.  
  5. $oDOM = new DOMDocument('1.0', 'UTF-8');
  6. $sHTML =
  7. '<div id="PeopleOnline">
  8. <p class="top">
  9. <span>112,556</span>
  10. people currently online
  11. </p>';
  12. @$oDOM->loadHTML($sHTML);
  13. $oXPath = new DOMXPath($oDOM);
  14. $oSpan = $oXPath->query('//div[@id="PeopleOnline"][1]/p[1]/span[1]')->item(0); /* @var $oSpan DOMNode */
  15. unset($oXPath);
  16. $sOnline = '0';
  17. if ($oSpan) {
  18. $sOnline = trim($oSpan->nodeValue);
  19. }
  20. echo $sOnline;

i przeczytaj temat od deski do deski gdyż tam różne źródła podawałem i wcale z XPath nie musisz korzystać a nawet możesz tylko z selektorów CSS - ale sam sobie poszukaj...
[xml][DOM] sama podstawa

z kolei w JAVA polecam "jsoup" a w C++ framwork Qt i zawarty w nim silnik przeglądarki WebKit...

Ten post edytował zegarek84 14.04.2013, 21:22:52
Go to the top of the page
+Quote Post

Posty w temacie
- wujeke   [PHP] wyrażenia regularne   14.04.2013, 16:41:40
- - nospor   Czemu cydzusłowia poprzedzasz \ ? Przecież to...   14.04.2013, 16:43:40
- - wujeke   [HTML] pobierz, plaintext preg_match('/^<d...   14.04.2013, 18:40:55
- - nospor   No tak, białe znaki to znaki jak każde inne Poza ...   14.04.2013, 18:43:09
- - zegarek84   Cytat(wujeke @ 14.04.2013, 17:41:40 )...   14.04.2013, 21:18:16
- - wjujeke   SUPER! DZIĘKUJĘ !   14.04.2013, 21:52:10


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 7.10.2025 - 19:40