Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Preg_match do określnego znaku
Forum PHP.pl > Forum > Przedszkole
vegeta
  1. preg_match_all('#href="(http://[^/"]+[/]?)"#is', $stripped_file, $matches);


Chcę, aby sprawdzało mi do pierwszego / po domenie tak jak jest teraz, ale nie chcę już, żeby wliczało mi te ostatnie /, ponieważ mam dużo duplikatów np. http://adres.pl/ i http://adres.pl.

Wszystkie linki mają wyglądać tak: http://adres.pl (nawet jeśli w adresie nie ma / na końcu).

W ostateczności jeśli nie da się zrobić tego o co proszę to chciałbym, aby sprawdzało do .pl (bez / na końcu) i innych domen, które sobie wybiorę (proszę mi napisać jak dodać kolejne domeny, ponieważ z preg_match mam trochę problemów).
melkorm
Kod
#href="(http://[a-zA-Z\.]+)/?#is


P.S. Następnym razem daj jakiś przykładowy ciąg do testowania smile.gif
vegeta
Dzięki wielkie.

Ale jest błąd w tym rozwiązaniu:
1. Skrypt akceptuje linki typu http://adres.pl?blaaa np. http://sklep.gry-online.pl?utm_sourc(...), http://www.skrypty.komputerpc.pl?klucz=wyswietl

2. Skrypt nie akceptuje linków np http://it-maniak.pl/ rozwiązaniem jest zmienienie "środka" na http://[^/"]+

Do testów:

  1. $strona = "http://www.skrypty.komputerpc.pl/";
  2. $original_file = file_get_contents($strona);
  3.  
  4. $stripped_file = strip_tags($original_file, "<a>");
  5. preg_match_all('#href="(http://[^/"]+)/?"#is', $stripped_file, $matches);
  6.  
  7. $unikat = array_unique($matches[1]); //Usuwa powtarzajace sie wartosci
  8.  
  9. header("Content-type: text/plain"); //Aby test ładnie się czytało :)
  10. print_r($unikat);
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.