Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Mała pomoc przy wyrażeniach regularnych
motyl-pl
post 24.01.2012, 14:19:32
Post #1





Grupa: Zarejestrowani
Postów: 294
Pomógł: 31
Dołączył: 2.04.2010

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


<a href="http://asd123.pl">http://asd123</a>
<a target="_blank" rel="nofollow" href="http://tcz.pl">http://tcz.pl</a>

  1. $tresc = file_get_contents('www');
  2. preg_match_all('/<a rel=\"nofollow\".*href=\"(.*)\".*>/iU', $tresc, $linki);
  3. print_r($linki);


Potrzebuje pobrać drugi link gdzie jest "nofollow", czy ktoś by mi mógł poprawić/pomóc poprawić moje wyrażenie regularne ?


--------------------
Go to the top of the page
+Quote Post
zegarek84
post 25.01.2012, 10:44:32
Post #2





Grupa: Zarejestrowani
Postów: 1 332
Pomógł: 294
Dołączył: 12.10.2008
Skąd: Olkusz

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


phpQuery - http://blog.zeromski.com.pl/2008/08/phpque...l-z-api-jquery/
lub
PHP DOM


--------------------
Jeśli twoja ręka rusza do przodu powstrzymaj swój gniew; gdy wyprzedza cię twój gniew - wycofaj rękę.

Go to the top of the page
+Quote Post
motyl-pl
post 25.01.2012, 12:56:37
Post #3





Grupa: Zarejestrowani
Postów: 294
Pomógł: 31
Dołączył: 2.04.2010

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


Zajebiste dzięki =)

W ostateczności skorzystałem z tego:
http://simplehtmldom.sourceforge.net/
Polecam wszystkim którzy musza parsować html a nie chca preg matha czy innego shitu.


--------------------
Go to the top of the page
+Quote Post
bigZbig
post 25.01.2012, 13:18:27
Post #4





Grupa: Zarejestrowani
Postów: 740
Pomógł: 15
Dołączył: 23.08.2004
Skąd: Poznań

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


Czasami użycie wielkiej biblioteki do parsowania drzewa dom jest nadmiarowe i okazuje się, że użycie wyrażeń regularnych jest lepszym rozwiązaniem

  1. <?php
  2. preg_match_all('/<a([\w\d\s-_"=]*)?href="(?P<url>.*)"([\w\d\s-_"=]*)?>/iU', '<a href="http://asd123.pl">http://asd123</a> <a target="_blank" rel="nofollow" href="http://tcz.pl">http://tcz.pl</a>', $result);
  3. var_dump($result['url']);
  4. ?>


--------------------
bigZbig (Zbigniew Heintze) | blog.heintze.pl
Go to the top of the page
+Quote Post
motyl-pl
post 25.01.2012, 13:27:53
Post #5





Grupa: Zarejestrowani
Postów: 294
Pomógł: 31
Dołączył: 2.04.2010

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


Łatwość użycia tej biblioteki przeważa nad jej wielkością:

  1. <?php
  2. include_once('simple_html_dom.php');
  3.  
  4. $html = file_get_html('http://link z którego chcemy pobrać link nofollow');
  5.  
  6. // Find all links
  7. foreach($html->find('a') as $element) {
  8. if($element->rel == "nofollow")
  9. echo $element->href . '<br>';
  10. }
  11.  
  12. ?>


--------------------
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: 15.07.2025 - 19:41