Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Wyrazenia regularne - czemu to nie dziala?
Forum PHP.pl > Forum > Przedszkole
kaźmirz
Mam problem z wyrazeniem regularnym.
Pobieram ze strony takie dane (tak to wyglada w zrodle):
Kod
<div class="informacja">
<h1>Nazwa przedmiotu</h1>
<h2>Aktualnie jest 14 ofert kupna.</h2>
</div>

i mam taki kod:
  1. $zrodlo = file_get_contents("http://jakasstrona.pl/");
  2. preg_match_all("#<div class=\"informacja\"><h1>(.*?)</h1><h2>Aktualnie jest [0-9]+ ofert kupna.</h2></div>#si", $zrodlo, $wyciete);
  3. print_r($wyciete);

No i zwraca mi pusty ciag sad.gif
Zrobilem echo $zrodlo, zeby sprawdzic, czy aby napewno pobieram to zrodlo, no i jest ok, ale preg_match mi nie wycina danych :/
Prosze o pomoc, domyslam sie ze blad jest w tym, ze w zrodle te dane zaczynaja sie od nowej linii, ze sa lamane linie, ale probowalem zmienic modyfikatory na mi, si, msi, itp. i nadal nic.
wookieb
W wyrażeniu nie uwzględniłeś takich rzeczy jak znaki nowej linii.
Nie męcz się tylko użyj PHPQuery.
nospor
no między znacznikami masz biale znaki. Musisz to uwzględnić.
  1. preg_match_all("#<div class=\"informacja\">\s*<h1>(.*?)</h1>\s*<h2>Aktualnie jest [0-9]+ ofert kupna.</h2>\s*</div>#si", $zrodlo, $wyciete);
kaźmirz
Dzieki Panowie, na Was zawsze mozna liczyc - a juz tyle czasu zmarnowalem smile.gif
A co to jest to PHPQuery, prawde mowiac pierwszy raz o tym slysze, to cos nowego? winksmiley.jpg
nospor
http://lmgtfy.com/?q=phpquery
smile.gif
kaźmirz
Cytat(nospor @ 30.08.2010, 14:24:58 ) *

winksmiley.jpg Ale ja nie znalem google smile.gif
A tak powaznie, to nie ma sensu do tego uzywac jakis nowych bibliotek, starczy prosty preg_match, tyle ze nie wiedzialem wlasnie, jak te lamane liniie uwzgledniac w matchu, myslalem ze od tego sa modyfikatory m i s.
Pozdrawiam i dzieki za pomoc!
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.