Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Problem z wyrażeniem regularnym
munky
post
Post #1





Grupa: Zarejestrowani
Postów: 37
Pomógł: 0
Dołączył: 7.01.2005

Ostrzeżenie: (10%)
X----


Witam,

Mam problem z wyrażeniem regularnym znajdującym adresy www w tekście, które przychodzi postem.

  1. <?php
  2. $wyrazenie='/<a[^>]+?hrefs*?=s*?("|')?(.*?)(?(1)1[^>]*>|(?:s[^>]*>|>))(.*?)</a>/si';
  3.  
  4.  elseif (preg_match('/^(http(s?)://|ftp://{1})((w+.){1,})w{2,}$/i', $eintrag)) $komunikat='';
  5. ?>


jak wpisuję www.strona.pl czy http://www.strona.pl jest ok ale jak dodam dowolny string przed lub po adresie to przestaje działać :/

Dziękuję za pomoc.

Pozdrawiam
munky

Ten post edytował munky 5.07.2007, 19:35:44


--------------------
Strony www, tworzenie stron www - Florystyka, kwiaty, projektowanie ogrowdów - Forum: hurtownie dnaych, eksploracja danych, bazy danych - Odzież, Odzież damska, odzież męska - Internetowe złote myśli
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 1)
Kicok
post
Post #2





Grupa: Zarejestrowani
Postów: 1 033
Pomógł: 125
Dołączył: 17.09.2005
Skąd: Żywiec

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


1. Poczytaj sobie w jakimś kursie wyrażeń regularnych do czego służy: ^ i $
2. \w nie pasuje do slashy, lepiej użyć \S (czyli "wszystko co nie jest białym znakiem")

  1. <?php
  2.  
  3. $tekst = 'saf f sa <a href="http://www.strona.pl/asd/index.php?var=val&var2=val2&var3=%20var3%20" target="_blank">http://www.strona.pl/asd/index.php?var=val...var3=%20var3%20</a> asd ads';
  4.  
  5. if( preg_match( '#(https?://|ftp://)(S+)#i', $tekst, $sub ) ) {
  6. echo $sub[1] . $sub[2];
  7. }
  8. else {
  9. echo 'Nie znaleziono';
  10. }
  11.  
  12. ?>


--------------------
"Sumienie mam czyste, bo nieużywane."
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 Aktualny czas: 19.08.2025 - 14:29