Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Znajdowanie wyrażeń w źródle strony
anomander
post 13.07.2007, 11:44:11
Post #1





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 13.07.2007

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


Witam! Mam prośbę, piszę skrypt którego zadaniem jest znajdowanie na danej stronce adresu url do podstrony kontakt (o ile taka podstrona istnieje). Rozwiązuję ten problem za pomocą wyrażeń regularnych, ale coś nie chce zaskoczyć:/

Innymi słowy, szukam w źródle strony wyrażenia typu:
  1. <a href="link">kontakt</a>


lub, bardziej skomplikowanie:

  1. <A style="costam" href="link" jakas_opcja="jakis_param">kontakt</a>


I musze wyłuskać frazę 'link'
Skleciłem takie coś:

  1. <?php
  2. preg_match('/<[aA].*href="(.*)".*>kontakt</[aA]>/i', $zrodlo, $link)
  3. ?>

a także eksperymentowałem z upraszczaniem:

  1. <?php
  2. preg_match('/href="(.*)".*>kontakt/i', $zrodlo, $link)
  3. ?>


oraz z 'leniwymi' wyrażeniami:

  1. <?php
  2. preg_match('/<[aA].*?href="(.*?)".*?>kontakt</[aA]>/i', $zrodlo, $link)


  1. <?php
  2. preg_match('/<[aA].*?href="([a-zA-Z0-9/.-]*)".*?>kontakt</[aA]>/i', $zrodlo, $link)


a także z różnymi kombinacjami i nie chce działać.
Proszę o wszelaką pomoc smile.gif

Ten post edytował anomander 13.07.2007, 11:46:15
Go to the top of the page
+Quote Post
tommy4
post 13.07.2007, 12:10:21
Post #2





Grupa: Zarejestrowani
Postów: 288
Pomógł: 12
Dołączył: 2.12.2005

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


Kod
preg_match('/<(?:a|A).*?href="([^"]*)".*?>kontakt<\/(?:a|A)>/', $kod, $m);


?

Ten post edytował tommy4 13.07.2007, 12:12:37
Go to the top of the page
+Quote Post
anomander
post 13.07.2007, 15:36:53
Post #3





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 13.07.2007

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


Też nie działa:/:/:/

Pół biedy jak jest wariant prosty <a href="link">kontakt</a>, wtedy wyłapuje (a i to nie zawsze), a jak są dodatkowe parametry w znaczniku <a> to masakra...
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: 29.06.2025 - 16:40