Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [preg_match_all] Wyodrebnienie linka z tagu <a>
Forum PHP.pl > Forum > PHP
B3k
Witam.

Caly dzien sie meczy z wlasciwym patternem do preg_match_all aby wyodrebnione zostaly same linki , ja ostatecznie napisalem taki:
  1. <?
  2. preg_match_all('/<a href="(http://(.*?))?>(.*?)</a>/is',$a,$b);
  3. print_r($b);
  4. ?>

Jednak ma on problemy gdy znacznik <a> ma dodatkowe atrybuty, przyklad:

[10] => http://tv2.o2.pl/?id_p=5910" onclick="return tv(5910)"


Pozdrawiam, oraz z gory dziekuje za pomoc.
emacieka
  1. <?php
  2. preg_match_all('/<a.*href="([^"]*)".*>.*</a>/iU',$a,$b);
  3. print_r($b);
  4. ?>

Poprzez [^\"]* określasz, że szukasz każdego znaku różnego od " (domknięcia adresu). A dzięki parametrowi U na końcu szuka kilku 'linków' w jednej linijce.
B3k
O, wielkie dzieki, ale powinno byc tak:
  1. <?php
  2.  
  3. preg_match_all('/<a.*href="([^"]*)".*>.*</a>/iU',$a,$b);
  4.  
  5. print_r($b);
  6.  
  7. ?>


;-)

Jeszcze raz dzieki
emacieka
Najdokładniej to powinno być:
  1. <?php
  2. preg_match_all('/<a.*href="([^"]*)".*>.*</a>/iU',$a,$b)
  3. ?>

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