Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Problem call_user_function z preg_match_all, lub łączenie dwóch preg_match'y
mimol
post
Post #1





Grupa: Zarejestrowani
Postów: 247
Pomógł: 5
Dołączył: 10.12.2007

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


Witam, chciałbym zamiast :
  1. $pattern = '/countryIds=([0-9]+)/is';
  2. $data = '<li><a href="/search/film?countryIds=53">USA</a></li><li><a href="/search/film?countryIds=59">Wielka Brytania</a></li>';
  3. preg_match_all($pattern, $data , $matches);
  4. $matches = $matches[1];
  5. var_dump($matches);

Użyć to w taki sposób
  1. $pattern = '/countryIds=([0-9]+)/is';
  2. $data = '<li><a href="/search/film?countryIds=53">USA</a></li><li><a href="/search/film?countryIds=59">Wielka Brytania</a></li>';
  3. call_user_func('preg_match_all',$pattern, $data, $matches);


Niestety dostaje Parameter 3 to preg_match_all() expected to be a reference. Czy jest sposób, żeby sobie z tym poradzić.
Wymagam, żeby wszystko odbywało się poprzez call_user_func

Ewentualnie jak uzyskać Country ID z
Kod
<tr><th>produkcja:</th><td><ul class="inline sep-comma"><li><a href="/search/film?countryIds=53">USA</a></li><li><a href="/search/film?countryIds=59">Wielka Brytania</a></li></ul></td></tr>

Pobieranie wyszstkiego pomiędzy <ul>
Kod
<tr><th>produkcja:<\/th><td><ul class="inline sep-comma">(.*?)<\/ul><\/td><\/tr>

Pobieranie ID pomiędzy <li>
Kod
countryIds=([0-9]+)

Jak to połączyć w jednego regexpa??

Ten post edytował mimol 16.02.2013, 14:38:05
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
mimol
post
Post #2





Grupa: Zarejestrowani
Postów: 247
Pomógł: 5
Dołączył: 10.12.2007

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


Tak, z pewnością jeśli musiałbym pisać swoją klasę wykorzystałbym DOM, jednak znalazłem klasę która już 80% wykonuje to co potrzebuje (niestety na nieszczęsnych regexpach)
Z tego co pamiętam to próbowałem zrobić coś podobnego, ale wtedy dostawałem errora, że trzeci parametr nie może być referencją.... Jak widać musiałem coś poplątać
Go to the top of the page
+Quote Post

Posty w temacie


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: 16.10.2025 - 02:36