Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] preg_match powtarzające się wartości
Forum PHP.pl > Forum > Przedszkole
tomekmvr
Witam

mam kod
  1. $c = '<a href="http://adres-strony.pl">';
  2. if(preg_match_all('#(http://[-/a-zA-Z0-9,_.?&]+)#',$c,$matches))
  3. {
  4. print_r($matches);
  5. }


preg_match wyszukuje mi linków tekście i to działa mi dobrze, ale dostaje duplika wartości w tablicy
Cytat
Array ( [0] => Array ( [0] => http://adres-strony.pl ) [1] => Array ( [0] => http://adres-strony.pl ) )


Można jakoś zrobić aby adres był dodawany do tablicy jeden raz? a nie jak tu dwa razy
wookieb
Użyj samego preg_match
Pawel_W
albo array_unique
tomekmvr
same preg_match za wiele nie zmienia bo dalej dostaje duplikat i nie wiem dlaczego tak się dzieje, co array_unique pomaga musi mi to wystarczyć

Dzięki
Pozdrawiam
Noidea
Cytat
dostaje duplikat i nie wiem dlaczego tak się dzieje


preg_match(_all) zwraca pod indeksem zerowym dopasowanie całego wzorca, a pod kolejnymi dopasowania nawiasów okrągłych. Jako że u ciebie cały wzorzec jest w nawiasie okrągłym, to pokazuje ci się to samo dwa razy.


  1. $c = '<a href="http://adres-strony.pl">';
  2. if(preg_match_all('#http://[-/a-zA-Z0-9,_.?&]+#',$c,$matches))
  3. {
  4. print_r($matches);
  5. }


Cytat
Array ( [0] => Array ( [0] => http://adres-strony.pl ) )
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.