Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]preg match all pomoc przy wyrazeniu
rad11
post
Post #1





Grupa: Zarejestrowani
Postów: 1 270
Pomógł: 184
Dołączył: 7.10.2012
Skąd: Warszawa

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


Czy moze mi ktos powiedziec dlaczego taki skrypt:

  1. preg_match_all('<div class="right"><a href="http://strava.github.io/api" target="_blank">API Documentation</a></div>(.*?)</td>', $response, $matches);


Nic nie zwraca niby w tym miejscu gdzie jest (.*?) jest wartosc ktora potrzebuje pobrac?
Go to the top of the page
+Quote Post
SmokAnalog
post
Post #2





Grupa: Zarejestrowani
Postów: 1 707
Pomógł: 266
Dołączył: 3.07.2012
Skąd: Poznań

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


Wzorce w funkcjach preg_ muszą być zamknięte w tzw. delimiterze, dla przykładu jako delimiter wstawiłem znak #:
  1. preg_match_all('#<div class="right"><a href="http://strava\.github\.io/api" target="_blank">API Documentation</a></div>(.*?)</td>#', $response, $matches);


Poza tym postawiłem slashe przed kropkami, bo kropka oznacza dowolny znak, a nie o to chodzi.

No i na zakończenie, lepiej by było pobierać te wartości normalnym parserem DOM, a nie wyrażeniami regularnymi. Jeśli to jest jakaś jednorazowa operacja to jeszcze można przymknąć oko, ale jeśli nie, to przy najdrobniejszej zmianie drzewa DOM Twój wzorzec przestanie działać.
Go to the top of the page
+Quote Post
rad11
post
Post #3





Grupa: Zarejestrowani
Postów: 1 270
Pomógł: 184
Dołączył: 7.10.2012
Skąd: Warszawa

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


Tak delimiter mialem tylko tutaj cos mi sie nie dodal , lecz twoj przyklad rowniez nic nie pokazuje hmmm... ta wartosc bedzie raz pobierana i zapisana do bazy wiec chyba preg_match bedzie najlatwiejszym rozwiazaniem

Ten post edytował rad11 16.01.2015, 09:11:57
Go to the top of the page
+Quote Post

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: 23.08.2025 - 04:07