![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 657 Pomógł: 2 Dołączył: 15.08.2003 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
Witajcie.
Już nie raz prosiłem forumowiczów o "gotowca". Teraz także oto prosze i pewnie będę to robił jeszcze nie raz :] Co jak co, ale z wyrażeń regularnych jestem noga, ale czasem coś potrzeba. Dane wejściowe: Kod <a href="http://costam.pl">costam</a> <a href="http://www.wazne.org">To Jest Wazne</a> <a href="http://costam2.net">costam2</a> <a href="http://www.wazne.org">Kolejna Wazna Sprawa</a> Dane wyjściowe (wyciągnięte przez wyrażenie regularne) Kod array ( [0] = '<a href="http://www.wazne.org">To Jest Wazne</a>' [1] = '<a href="http://www.wazne.org">Kolejna Wazna Sprawa</a>' ) Opis słowny: Do dyspozycji mam jedynie adres strony WWW. Potrzebuje, by wyrażenie regularne wyciągnelo wszystkie odnosniki z tekstu do tej wlasnie strony. Czyli wszystkie bloki <a href="podana strona">xxx</a>. Musze jednak wziac pod uwage, ze takie hiperlacze moze miec takze atrybuty target, title itd. Czyli takie hiperlacze tez ma byc znajdywane: <a title="siema" href="podana strona" target="_blank">costam</a> Próbowałem coś samemu... doszedłem do wzoru: preg_match_all('#<a.*href="' . $sAdres . '".*>.*<\/a>#s', $sZawartoscStrony, $aWynik); jednak przy wielu hrefach się mocno pierniczy :/ Przy jednym dziala ;] Pozdrawiam i z góry dziękuje temu kto zechce pomóc. |
|
|
![]()
Post
#2
|
|
Grupa: Przyjaciele php.pl Postów: 1 717 Pomógł: 0 Dołączył: 12.06.2002 Skąd: Wolsztyn..... Studia: Zielona Góra Ostrzeżenie: (0%) ![]() ![]() |
Dodaj flage U do tego wyrazenia. Dodatkowo dla pewnosci, ze zaden dziwny adres sie nie wylozy wypadaloby przepuscic $sAdres przez preg_quote" title="Zobacz w manualu PHP" target="_manual przed wstawieniem tego do wyrazenia.
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 657 Pomógł: 2 Dołączył: 15.08.2003 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
preg_quote() już jest używane.
Obecnie mam taki wzór: Kod preg_match_all('#(<a(.*?)href="' . $sAdres . '"(.*?)>(.*?)<\/a>)#is', $sZawartoscStrony, $aWynik); Dane wejściowe Kod <html> <head> <title>Sajt 4</title> </head> <body> <h1>To jest Sajt 4</h1><br /> <a href="http://costam.pl">costam</a> <a href="http://reklama.org">To Jest Wazne</a> <a href="http://costam2.net">costam2</a> <a href="http://reklama.org">Kolejna Wazna Sprawa</a> </body> </html> Dane wyjściowe: Kod Array ( [0] => Array ( [0] => <a href="http://costam.pl">costam</a><a href="http://reklama.org">To Jest Wazne</a> [1] => <a href="http://costam2.net">costam2</a><a href="http://reklama.org">Kolejna Wazna Sprawa</a> ) ) Czyli nadal dokleja jakieś śmieci, linki które w wyniku znaleść się nie powinny :/ |
|
|
![]()
Post
#4
|
|
Grupa: Przyjaciele php.pl Postów: 1 717 Pomógł: 0 Dołączył: 12.06.2002 Skąd: Wolsztyn..... Studia: Zielona Góra Ostrzeżenie: (0%) ![]() ![]() |
Zmien #(<a(.*?)href na #(<a([^>]*?)href
Ten post edytował FiDO 7.05.2005, 18:25:29 |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 657 Pomógł: 2 Dołączył: 15.08.2003 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
Dziekuje Ci bardzo :*
Ja tych PREGów nie rozumiem i chyba nigdy nie pojme ;P |
|
|
![]() ![]() |
![]() |
Aktualny czas: 18.09.2025 - 04:27 |