Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [preg_match_all] Wyodrebnienie linka z tagu <a>, Pattern do preg_match _all
B3k
post 11.01.2007, 21:56:59
Post #1





Grupa: Zarejestrowani
Postów: 16
Pomógł: 0
Dołączył: 7.01.2007

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


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.
Go to the top of the page
+Quote Post
emacieka
post 11.01.2007, 23:06:48
Post #2





Grupa: Zarejestrowani
Postów: 40
Pomógł: 1
Dołączył: 29.12.2003
Skąd: Szczecin

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


  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.

Ten post edytował emacieka 11.01.2007, 23:14:48


--------------------
''' ... Among the blind one eyed man is a king ... '''
Go to the top of the page
+Quote Post
B3k
post 11.01.2007, 23:27:06
Post #3





Grupa: Zarejestrowani
Postów: 16
Pomógł: 0
Dołączył: 7.01.2007

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


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
Go to the top of the page
+Quote Post
emacieka
post 11.01.2007, 23:38:13
Post #4





Grupa: Zarejestrowani
Postów: 40
Pomógł: 1
Dołączył: 29.12.2003
Skąd: Szczecin

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


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

tongue.gif

Ten post edytował emacieka 11.01.2007, 23:38:43


--------------------
''' ... Among the blind one eyed man is a king ... '''
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: 19.07.2025 - 11:05