Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Wyrażenie regularne do łącz
no-scared
post
Post #1





Grupa: Zarejestrowani
Postów: 112
Pomógł: 0
Dołączył: 24.04.2008

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


Witam ponownie.

Otóż chciałbym zrobić sobie wyrażenie regularne wychwytujące wszystkie łącza (hrefy), ponieważ chce sprawdzac jakie łącza dają użytkownicy w komentarzach na mojej stronie i dodawać je do bazy, robiłem już ileś matchów jednak im bardziej starałem się poprawić, tym bardziej go niszczyłem i już kompletnie zaczął mi się mózg lansować.

$preg = preg_match_all('/<a.*href\s*=(?:\s*|\s*"|\s*\')([^\s>]+)(?:\s*?"|\s*?\'|\s*|\s*>)/i', $text, $url_list, PREG_PATTERN_ORDER);

Proszę o pomoc.

// EDIT

do moderatorow, musiałem usunąć BBCode, ponieważ forum mi docinało regexa

jakieś pomysły?

Ten post edytował no-scared 31.08.2008, 16:06:16
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
em1X
post
Post #2





Grupa: Zarejestrowani
Postów: 984
Pomógł: 41
Dołączył: 16.03.2002
Skąd: Płock

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


mózg może się lasować.. lansują się gwiazdy w telewizji

  1. <?php
  2. $match = preg_match_all('/<a.*?href="(.*?)".*?>.*?</a>/i', $text, $url_list);
  3. ?>


Ten post edytował em1X 31.08.2008, 22:33:28
Go to the top of the page
+Quote Post
no-scared
post
Post #3





Grupa: Zarejestrowani
Postów: 112
Pomógł: 0
Dołączył: 24.04.2008

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


Cytat(em1X @ 31.08.2008, 23:26:33 ) *
mózg może się lasować.. lansują się gwiazdy w telewizji

  1. <?php
  2. $match = preg_match_all('/.*?</a>/i', $text, $url_list);
  3. ?>

em1X mialem podobnego regexa na samym początku, jednak co jeśli łącza będą takie:

<a href='costam'>łącze</a>
<a href=costam>łącze</a>
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 8.10.2025 - 20:57