Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] wyrażenia regularne
Forum PHP.pl > Forum > PHP
marcinek37
jak sprawdzić, czy w danym stringu jest podany adres strony www?
problem w tym, że adres strony może być podany na kilka sposobów:
- http://www.onet.pl
- http://www.onet.pl/
- www.onet.pl
- www.onet.pl/
- onet.pl
- onet.pl/

i w dodatku zamiast .pl może być .com, .com.pl, .net i wiele innych
ssstrz
http://kohanaframework.org/3.3/guide-api/Valid#url w metodzie url jest pattern, wywal sobie to co w sekcji #scheme i masz sprawdzanie adresu bez protokolu np http://

edit// sorki z pospiechy nie zauwarzylem 2 pierwszych linkow z http, w takim razie nic nie modyfikuj tylko przekopiuj sobie metode url
marcinek37
ta funkcja jest bardzo przydatna, ale nie o to mi chodziło

chodzi o to, że mam ciąg znaków i chcę sprawdzić, czy jest w nim link, np.
aaaaaaaaaa bbbbbbbbbbbbbb onet.pl ccccccccccccccc dddddddddddddd

i chcę, aby skrypt zdiagnozował, że jest tam podany link
nospor
preg_match
marcinek37
znam tę funkcję, ale nie potrafię napisać tego tak, aby skrypt znajdywał linki w tekście, no i linki w kilku formatach
ssstrz
ok w temacie pytałeś o inny przypadek, bo chciałeś sprawdzanie urla a teraz nagle chcesz "wyłowić urla"...... no ale przetestuj to
  1. // The Regular Expression filter
  2. $reg_exUrl = "/((http|https|ftp|ftps)\:\/\/)?[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,3}(\/\S*)?/";
  3.  
  4. // The Text you want to filter for urls
  5. $text = "The text you want to filter goes here. http://google.com";
  6.  
  7. // Check if there is a url in the text
  8. if(preg_match($reg_exUrl, $text, $url)) {
  9.  
  10. // make the urls hyper links
  11. echo $url[0];
  12.  
  13. } else {
  14.  
  15. // if no urls in the text just return the text
  16. echo $text;
  17.  
  18. }

przerobione stąd: http://css-tricks.com/snippets/php/find-ur...ext-make-links/
marcinek37
Twój kod działa dokładnie tak, jak chciałem
Bardzo dziękuję!
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.