Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] ułożenie regexpa
Forum PHP.pl > Forum > Przedszkole
Balon
Kod
<a href="/dj+ivy+o-party+pirate-mp3-334554.html">
                    <font class="toplinks">

                        DJ Ivy O - Party Pirate                    </font>

i mam np takich 10 na stronie linkow i potrzebuje wyciagac z tego link, ale nie chce to dzialac... moze dlatego ze sa tabulatory i te entery ?

prosze o pomoc
Kicok
  1. <?php
  2. preg_match_all('#href="([^"]*)"#i', $txt, $array);
  3.  
  4. print_r($array[1]);
  5. ?>



Lub jeśli nie wiesz czy link będzie w apostrofach, czy w cudzysłowiu, czy też w ogóle niczym nie będzie ograniczony, to:
  1. <?php
  2. preg_match_all('#href=(?:'|")?([^s"']*)(?:'|")?#i', $txt, $array);
  3.  
  4. print_r($array[1]);
  5. ?>
Balon
takie rzeczy to i ja wiem.... ale co jak na stronie sa tez inne linki ? ....
Kicok
Cytat
ale co jak na stronie sa tez inne linki ?


A co, to ja mam wiedzieć jakie linki cie interesują, a jakie nie? Możesz przeczesać jakąś pętlą tą tablicę, i odrzucić linki które cie nie interesują.
Albo znajdź na stronie jakieś charakterystyczne elementy, znajdujący się bezpośrednio przed i bezpośrednio za tymi linkami, odszukaj ich pozycję przez strpos" title="Zobacz w manualu php" target="_manual i strrpos" title="Zobacz w manualu php" target="_manual i obetnij kod strony do interesującej cie części, np:

Strona:
  1. <a href="jakis_nieinteresujacy_link.html">sdsd</a>
  2. <br>
  3.  
  4. <div id="tytul">Linki</div>
  5. <p>
  6. <a href="blabla.html">Bla Bla</a>
  7. <a href="bleble.html">BleBle</a>
  8. </p>
  9. <div id="info">Dodano: wczoraj</div>
  10.  
  11. <br>
  12. <a href="jakis_inny_nieinteresujacy_link.html">sdsadsad</a>



Kod php:
  1. <?php
  2. $begin = strpos($kod_html_strony, '<div id="tytul">');
  3. $end = strrpos($kod_html_strony, '<div id="info">');
  4.  
  5. $interesujaca_czesc = substr($kod_html_strony, $begin, -$end);
  6.  
  7.  
  8. preg_match_all('#href="([^"]*)"#i', $interesujaca_czesc, $array);
  9. print_r($array[1]);
  10. ?>
Balon
ok poradzilem sobie, wyeliminowalem inne linki bo np niektore mialy w href czes Site/aa albo Site/aaa.php a reszte latwo juz bylo bo nie mialy dopisku mp3 wiec poszlo latwo winksmiley.jpg

dzieki za pomoc,

pozdrawiam
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.