Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: preg_match_all
Forum PHP.pl > Forum > Przedszkole
Chutch
Witam, probuje od pewnego czasu, ale cos z moim wyrazeniem nadal jest nie tak sad.gif

  1. <?php
  2.  
  3. $text = join('',file('http://www.danyadres.net/ss.cgi?itakietam'));
  4. $str = preg_match_all('#http://www.danyadres.net/sf.cgi?(w*) \"#si', $text, $pas );
  5. echo count($pas) . &#092;"<br>\" ;
  6. print_r( $pas ) . &#092;"<br>\" ;
  7.  
  8. ?>


Chodzi tutaj oczywiście o znalezienie wszystkich linków o początku: "http:\\www.danyadres.net\sf.cgi?" aż do końca linku

to mi wychodzi po wykonaniu:
Cytat
2
Array ( [0] => Array ( ) [1] => Array ( ) )


pomóżcie :-)
FiDO
Niepotrzebnie masz spacje na koncu wyrazenia.. przeciez linki sa z reguly zamkniete w cudzyslowach (przynajmniej powinny) wiec dlatego Ci niczego nie łapie. Najpewniej bylo by tak:

  1. <?php
  2.  
  3. $str = preg_match_all('#href=([\"'])http://www.danyadres.net/sf.cgi?(.*)1\"#Usi', $text, $pas );
  4.  
  5. ?>

Wylapie linki zamkniete w ' lub "
Chutch
Był tu inny post, ale po kilku sekundach mam rozwiązanie ;-)

ostateczna działajaca wersja:

  1. <?php
  2.  
  3. $str = preg_match_all('#http://www.danastrona.net/sf.cgi?(.*)\"#Usi', $text, $pas );
  4.  
  5. ?>


dzięki za pomoc, FiDO
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.