Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Pomoc w dopracowaniu wyrażenia regularnego.
Wicepsik
post 3.10.2009, 20:17:39
Post #1





Grupa: Zarejestrowani
Postów: 1 575
Pomógł: 299
Dołączył: 26.03.2009

Ostrzeżenie: (20%)
X----


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.

Ten post edytował Wicepsik 3.10.2009, 20:18:58


--------------------
Go to the top of the page
+Quote Post
zegarek84
post 3.10.2009, 22:05:07
Post #2





Grupa: Zarejestrowani
Postów: 1 332
Pomógł: 294
Dołączył: 12.10.2008
Skąd: Olkusz

Ostrzeżenie: (0%)
-----


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


--------------------
Jeśli twoja ręka rusza do przodu powstrzymaj swój gniew; gdy wyprzedza cię twój gniew - wycofaj rękę.

Go to the top of the page
+Quote Post
Wicepsik
post 3.10.2009, 22:53:24
Post #3





Grupa: Zarejestrowani
Postów: 1 575
Pomógł: 299
Dołączył: 26.03.2009

Ostrzeżenie: (20%)
X----


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

Ten post edytował Wicepsik 3.10.2009, 23:33:09


--------------------
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 24.07.2025 - 17:15