Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Wyszukiwanie linków
Forum PHP.pl > Forum > Przedszkole
Duo
Witam,
Posiadam skrypta CURL, który ładuje stronę. Chciałbym, aby wyciągał on linki z nazw odnośników.

  1. <span class="newstitle">
  2. <a class="newstitle" onmouseout="nd();" onmouseover="return overlib('<fieldset>jakiś tam opis</fieldset>', ol_width=400, ol_offsetx=10, ol_offsety=10, CAPTION, '<center>Nie brałeś udziału w tej dyskusji</center>')" "="" href="viewnews.php?n=30719&view=newest">telepolis.pl Test telefonu Sony Xperia V</a>
  3. </span>


Zależy mi na tym, żeby pobrał mi napis z odnosnika telepolis.pl
Próbowałem preg_matchem, ale nie za bardzo umiem wyrażenia regularne. Czy ktoś mógłby mi pomóc skonstruować to, aby pobierało mi adresy z domenami ?
session
Tak napisałeś że nie za bardzo rozumiem, czy o to Ci chodzi:
  1. <?php
  2. /*--- Session Code ---*/
  3. $str='<a href="google.pl">GOOGLE</a>'; // Kod z odnośnikiem
  4. $a=explode('<a',$str);
  5. $b=explode('href="',$a[1]);
  6. $c=explode('"',$b[1],2);
  7. $href=$c[0];
  8. ?>
Duo
To nie to. Lepiej wytłumaczę ze strony z której chcę pobierać linki znajdują się nagłówki gdzie w tytule jest wpisane źródło strony nie obchodzi mnie nazwa tytułu tylko sam link źródła. Chciałbym zebrać wszystkie źródła ze strony.

Tutaj podaję przykładowe fragmenty tych tytułów:

  1. href="viewnews.php?n=30719&view=newest">telepolis.pl Test telefonu Sony Xperia V</a>

  1. href="viewnews.php?n=31323">BlackBerry Q10 w 24-karatowym złocie wp.pl</a>


gdzie n= musi być dowolna liczba, następnie musi brać pod uwagę &view=newest lub bez. Potem między znacznikami > </a> musi znaleźć domenę
_Borys_
Wyciąga n oraz domenę:
  1. preg_match_all('/href=\"viewnews\.php\?n=([\d]+).*>\s?.*?(\w+\.\w+)/im',$html,$matches);
  2. echo '<pre>';
  3. print_r($matches);
  4. echo '</pre>';
Duo
Jest mały problem, jeżeli zostało wpisane www.domena.pl to pokaże tylko www.domena czy jest możliwość, aby w tym przypadku zwracało domena.pl ?
Nie zwraca również poprawnie adresów do-mena.pl preg_match zwraca mena.pl

Da się coś z tym zrobić ?
_Borys_
  1. preg_match_all('/href=\"viewnews\.php\?n=([\d]+).*>.*?(\w+[\w\.-]*\.\w+)/im', $html, $matches);

Powinno działać.
Duo
Dziękuję bardzo wszystko działa okej smile.gif
Można zamknąć
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.