Wyrażenia regularne - wyszukiwanie adresu URL 4709 4

O temacie

Autor RafalBudzis

Zaczęty 16.01.2014 roku

Wyświetleń 4709

Odpowiedzi 4

RafalBudzis

RafalBudzis

Użytkownicy
posty1967
Propsy808
ProfesjaSkrypter
  • Użytkownicy
Mam z wyrażeniami pewien problem trochę już o nich czytam i nic mi nie działa nie wiem gdzie robię błąd. Chcę zrobić bardzo proste wyszukiwanie adresów w tekście i zamianę ich na linki. Nie chce robić żadnych zaawansowanych walidacji czy adres jest poprawny chce aby wyszukiwało ciąg zaczynający się od http a kończący się po pierwszej napotkanej spacji. Napisałem takie coś

$s0=preg_replace('|(http:[0-9a-zA-Z\\.\\\^\s]*)\s|', '<a href="$1">$1</a> ', $s0);
ale linkuje mi jeszcze pełno wyrazów występujących po linku. Z góry dzięki za wszystkie odpowiedzi. Byłbym wdzięczny za powiedzenie co źle zrobiłem i dlaczego to nie działa.

Adanos

Adanos

Administrator
Szara eminencja
posty5204
Propsy3870
ProfesjaProgramista
  • Administrator
  • Szara eminencja
Dodaj na koniec po symbolu spacji {1}.

Coś takiego u mnie działa (w każdym razie w Notepad++):
Cytuj
http:[0-9a-zA-Z\\.]*\s{0,1}

RafalBudzis

RafalBudzis

Użytkownicy
posty1967
Propsy808
ProfesjaSkrypter
  • Użytkownicy
Okej wielkie dzięki wynika ze problemem było negowanie spacji w znakach gwiazdki po usunięciu ^\s śmiga jak szalone :) Jeszcze jedno pytanko czy jest funkcja bazująca na wyrażeniach regularnych która by mi zwróciła wszystkie wystąpienia do jakiejś tablicy ?

Adanos

Adanos

Administrator
Szara eminencja
posty5204
Propsy3870
ProfesjaProgramista
  • Administrator
  • Szara eminencja
Myślę, że musiałbyś napisać taką funkcję :D Nie przypominam sobie, żebym o takiej słyszał.

RafalBudzis

RafalBudzis

Użytkownicy
posty1967
Propsy808
ProfesjaSkrypter
  • Użytkownicy
No to będzie zabawy :D Tak czy siak dzięki :) Temacik do zamknięcia :)


0 użytkowników i 1 Gość przegląda ten wątek.
0 użytkowników
Do góry