/ Problemy z / Regex preg_match () - php, regex, preg-match, delimiter

Problemy z regeksem preg_match () - php, regex, preg-match, delimiter

Nie mogę uzyskać poprawnego działania następującego wyrażenia regularnego:

preg_match("Currently: ([0-9.km,]+)", $data, $matches)

Informacje wewnątrz $ data to: „Co to jest obecnie: 52 523” (wraz z około 30 wierszami HTML).

Ciągle pojawia się następujący błąd: Warning: preg_match(): Delimiter must not be alphanumeric or backslash in C:xampphtdocstesttest.php on line 49

Uwaga: wiersz 49 zawiera poprzedni wpis, który opublikowałem powyżej.

Edycja: Przeprosiny, zapomniałem dodać parametr dopasowania.

Odpowiedzi:

5 dla odpowiedzi № 1

temu funkcja preg_match wymaga ogranicznika we wzorcu.

preg_match("/Currently: ([0-9.km,]+)/", $data, $matches)

edytować:

jak opisano w komentarzach

@ JoséRobertoAraújoJúnior curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); Jeśli to masz na myśli, tak, ustawiłem to. Jeśli ja echo $data, to wyświetla stronę internetową, co oznacza, że ​​nadal zawiera cały kod HTML tagi .. Nie wiem, co mam teraz zrobić, aby użyć tych danych w mojej preg_

Wtedy jest to możliwe $data zawiera spacje między: Currently: i (...), więc należy to uwzględnić w swoim wzorze, dodając s+ zamiast zwykłej białej spacji, s dopasuje dowolny biały znak zgodnie z opisem w Strona dokumentacji składni wyrażeń regularnych PCRE.

preg_match("/Currently:s+([0-9.km,]+)/", $data, $matches)

Test na żywo: http://codepad.viper-7.com/xJNisE


1 dla odpowiedzi nr 2

musisz dodać ten sam znak na początku i na końcu wzoru:

preg_match("/Currently: ([0-9.km,]+)/", $data)

Ten znak nie może pojawić się wewnątrz wzoru, chyba że go zmienisz, na przykład:

preg_match("/<example></example>/", $xml)

Możesz użyć innych znaków jako separatorów, jednego z najczęściej używanych obok / jest #


1 dla odpowiedzi nr 3

Musisz użyć separatora, takiego jak ta edycja

$data = "What it is Currently: 52,523";
preg_match("&Currently: ([0-9.km,]+)&", $data, $match);
print_r($match);

przykład pracy http://codepad.viper-7.com/QGOoXT