Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] - jakie wyrażenie regularne
Forum PHP.pl > Forum > Przedszkole
srwsio
Witam
Potrzebuję wyciągnąć poprzez curl pewne dane.
zrobiłem logowanie, pobieranie strony również mam jednakże chciałbym pobrać zawartość strony tylko między :

  1. <div id="userinfoscontainer"> <div><span class="userinfositem link" id="username" style="font-weight:bold;" onclick="show_page('prof');">srwsio</span></div><div><div id="sprcontent"></div>

i z powyższego chcę wyciągnąć to co jest pomiędzy znacznikami span czyli mój nick

dodatkowo wyrażenie regularne powinno zawierać możliwość polskich znaków.

Niestety ja nie potrafię tego zrobić - w ogóle nie czaję tych regularnych.

Z góry dziękuje
Remigiusz


Pawel_W
  1. $string = '<div id="userinfoscontainer"> <div><span class="userinfositem link" id="username" style="font-weight:bold;" onclick="show_page(\'prof\');">srwsio</span></div><div><div id="sprcontent"></div>';
  2. $patt = '#<div id="userinfoscontainer"> <div><span class="userinfositem link" id="username" style="font-weight:bold;" onclick="show_page(\'prof\');">([^<]+)</span></div><div><div id="sprcontent"></div>#si';
  3. preg_match($patt, $string, $match);
  4. print_r($match);


i na przyszłość => http://pl.wikibooks.org/wiki/PHP/Podstawy_...%84_regularnych
srwsio
i na przyszłość - wiem co to google, wiem co to szukajka na forum - i gdybym sam potrafił to bym zrobił - nie prosiłbym o rade

niestety naprawdę regularnych nie rozumiem

poza tym zwraca mi pusty array

Pawel_W
Cytat(srwsio @ 13.06.2010, 13:52:16 ) *
i na przyszłość - wiem co to google, wiem co to szukajka na forum - i gdybym sam potrafił to bym zrobił - nie prosiłbym o rade

niestety naprawdę regularnych nie rozumiem

poza tym zwraca mi pusty array


więc dlatego podałem Ci linka do dobrego tutoriala...

co do skryptu to musiałeś coś źle podać, bo na 90% działa

a jak nie to:
  1. $string = '<div id="userinfoscontainer"> <div><span class="userinfositem link" id="username" style="font-weight:bold;" onclick="show_page(\'prof\');">srwsio</span></div><div><div id="sprcontent"></div>';
  2. $patt = '#show_page(\'prof\');">([^<]+)</span>#i';
  3. preg_match($patt, $string, $match);
  4. print_r($match);
srwsio
nie wiem co źle robię ale znów to samo

tak wygląda cały kod :
  1. function get_div($site,$proxy,$proxystatus){
  2. $ch = curl_init();
  3. curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
  4. if ($proxystatus == 'on') {
  5. curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
  6. curl_setopt($ch, CURLOPT_HTTPPROXYTUNNEL, TRUE);
  7. curl_setopt($ch, CURLOPT_PROXY, $proxy);
  8. }
  9. curl_setopt($ch, CURLOPT_COOKIEFILE, "cookie.txt");
  10. curl_setopt($ch, CURLOPT_URL, $site);
  11.  
  12. $match = curl_exec ($ch);
  13. $string = '<div id="userinfoscontainer"> <div><span class="userinfositem link" id="username" style="font-weight:bold;" onclick="show_page(\'prof\');">srwsio</span></div><div><div id="sprcontent"></div>';
  14. $patt = '#show_page(\'prof\');">([^<]+)</span>#i';
  15. preg_match($patt, $string, $match);
  16.  
  17. print_r($match);
  18. return $match;
  19.  
  20. curl_close ($ch);
  21. }


pomoże ktoś?
athei
  1. $string = '<div id="userinfoscontainer"> <div><span class="userinfositem link" id="username" style="font-weight:bold;" onclick="show_page(\'prof\');">srwsio</span></div><div><div id="sprcontent"></div>';
  2. $patt = '#<span class="userinfositem link" id="username" style="font-weight:bold;" onclick="show_page\(\'prof\'\);">(.*?)</span>#i';
  3. preg_match($patt, $string, $match);
  4. print_r($match);
srwsio
dzięki wielkie athei

teraz mam takie pytanie

jak pobrać dane o których wiemy w jakim sa miejscu ale ich nie znamy
powiedzmy że w źródle strony mamy :
  1. <div id="userinfoscontainer"> <div><span class="userinfositem link" id="username" style="font-weight:bold;" onclick="show_page(\'prof\');">654321ssde1256</span></div><div><div id="sprcontent"></div>


jak wyciągnąć poprzez preg_match ten string ze środka nie znając go ?
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.