Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Pomoc w dopracowaniu wyrażenia regularnego.
Forum PHP.pl > Forum > Przedszkole
Wicepsik
Mam domeny..

  1. $domains = array(
  2. 'aid.pl',
  3. 'agro.pl',
  4. 'atm.pl',
  5. 'pl'
  6. }
  7.  
  8. foreach($match[0] as $value){ // Sprawdzenie każdej domeny które pobieram ze strony
  9. foreach($domains as $domain){ // sprawdzenie czy pasuje domena
  10. if(preg_match('/\.'.$domain.'/', $value)){
  11. echo $domain.' = '. $value .'<br>';
  12. }
  13. }
  14. }
  15.  


Wynik:
Cytat
edu.pl = cyfkr.edu.pl
pl = cyfkr.edu.pl
biz.pl = admb.biz.pl
pl = admb.biz.pl


Chciałbym bez potworzeń czyli samo edu.pl bez .pl, tylko nie umiem poradzić sobie z tym problemem.
zegarek84
w wyrażeniu regularnym można sprawdzić czy coś nie poprzedza i jeśli poprzedza nie dopasować - ale tak byś miał tylko sporo pracy - najprościej zrób tak:

tablicę przeszukuj od tyłu (skorzystaj z for) i jeśli już dopasujesz do danego elementu to wyrzucaj to z tablicy którą przeszukujesz co zapobiegnie przed ponownym wyszukiwaniem... i zacznij szukać od dłuższych domen a dopiero potem te najkrótsze... a dlaczego przy zaproponowanym rozwiązaniu tablicę musisz przechodzić od tyłu to chyba nie muszę Ci tłumaczyć winksmiley.jpg

ps. coś dziwnie znajomo ten temat mi wygląda ;p - pozdro winksmiley.jpg
Wicepsik
Poradziłem sobie w inny sposób smile.gif

  1. if(preg_match('/\.'.$domain.'/', $value)){
  2. echo $domain.' = '. $value .'<br>';
  3. break;
  4. }


Cytat(zegarek84 @ 3.10.2009, 23:05:07 ) *
ps. coś dziwnie znajomo ten temat mi wygląda ;p - pozdro winksmiley.jpg

zlecenia.przez.net ?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.