Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Lekki problem z preg_match_all
Forum PHP.pl > Forum > Przedszkole
stefan33
Witam. Mam problem gdyż chcę użyć funkcji preg_match_all aby wyszukała wszystkie dopasowania natomiast znajduje mi tylko jedno. Wiem, że błąd popełniam ja tylko nie wiem co powinienem zmienić we wzorcu żeby było ok. Bardzo proszę o pomoc

Chciałbym wyszukać: wszystkie ciągi zakończone w ten sposób
  1. [autor='jakistamautor']


Przykladowy string i kod preg_match_all:
  1. $str="tekst[autor='ktostam']tekst2[autor='ktostam2']tekst3";
  2. preg_match_all("/.*\[autor='.*'\]/",$str,$startMatch)


wynik:
  1. //print_r($startMatch);
  2. Array ( [0] => Array ( [0] => tekst[autor='ktostam']tekst2[autor='ktostam2'] ) )


ja chciałbym natomiast uzyskać takie coś w wyniku:
  1. Array ( [0] => Array ( [0] => tekst[autor='ktostam'] ) )
  2. Array ( [1] => Array ( [0] => tekst[autor='ktostam']tekst2[autor='ktostam2'] ) )


z góry dziekuje za wszystkie odpowiedzi

lobopol
  1. preg_match_all("/.*\[autor='.*'\]/iU",$str,$startMatch)

Polecam do testowania wyrażeń regularnych http://regex.larsolavtorvik.com/
stefan33
dziekuje za odpowiedz dziala smile.gif ale mialbym jeszcze pytanie pod jakim haslem moge wyszukac co znacza te znaki co dopisales bo nie moge teraz tego nigdzie znalezc?
abort
PCRE (Perl-Compatible Regular Expressions) Pattern Modifiers.
http://www.php.net/manual/en/pcre.pattern.php - a w szczególności http://www.php.net/manual/en/reference.pcr...n.modifiers.php
stefan33
dziekuje smile.gif
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.