Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Wykrywanie linków
Shinji
post 19.12.2008, 11:54:54
Post #1





Grupa: Zarejestrowani
Postów: 50
Pomógł: 1
Dołączył: 28.11.2006

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


Witam,
mam kolejny problem niestety....

staram się napisac skrypt, ktory w danym ciagu wykrywałby adresy/linki z uwzglednieniem zapisu (www.google.pl ,http://google.pl i http://www.google.pl) i zamieniał je na [ LINK ] ktory byłby odnosnikiem do ów strony. Czytałem o kilku funkcjach preg_match, preg_match_all, ereg, ale nie wychodzi mi to, zapewne nie umiejetnie ich uzywam - tym bardziej, że nie dokońca pojmuje wyrażenia regularne. Z góry dziekuje =)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 10)
erix
post 19.12.2008, 16:03:07
Post #2





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




preg_replace" title="Zobacz w manualu PHP" target="_manual. tongue.gif


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
Shinji
post 20.12.2008, 00:51:25
Post #3





Grupa: Zarejestrowani
Postów: 50
Pomógł: 1
Dołączył: 28.11.2006

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


Dzieki, ale doszłem już do tego, ale od tego czasu walcze z nastepnym problemem...
chce, aby z ciagu danego wszytskie ':/' zamienił na <img src=krzywy.gif> no i to nie problem (i to nie problem dzieki funkcji str_replace), ale jak zrobić by omijał link - bo niestety http://google.pl zamienia sie na http<img src=krzywy.gif>/google.pl =/ Próbowałem zrobić to właśnie preg_replace, ale nie umiem skonstruowac odpowiedniej funkcji. Jakieś pomysły?
Go to the top of the page
+Quote Post
erix
post 20.12.2008, 01:26:32
Post #4





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Kod
'#[^http]\:/#i'

Domyśl się, gdzie to wstawić.

ps:
Cytat
Dzieki, ale doszłem już do tego

http://sjp.pwn.pl/lista.php?co=dosz%B3em co to jest? :|

Ten post edytował erix 20.12.2008, 01:27:15


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
Shinji
post 20.12.2008, 09:20:38
Post #5





Grupa: Zarejestrowani
Postów: 50
Pomógł: 1
Dołączył: 28.11.2006

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


*doszedłem - sorki za błąd wstydnis.gif
no i jeszcze raz dzieki za pomoc,
owszem domyślam sie gdzie to wstawić, bo podobne wyrażenie napisałem sam, i w obach przypadkach nie sprawuje się gdy od emoty nie ma przerwy od ostatniego slowa, a slowo konczy sie na h,t,p.
Go to the top of the page
+Quote Post
erix
post 20.12.2008, 12:23:45
Post #6





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Cytat
owszem domyślam sie gdzie to wstawić, bo podobne wyrażenie napisałem sam, i w obach przypadkach nie sprawuje się gdy od emoty nie ma przerwy od ostatniego slowa, a slowo konczy sie na h,t,p.

Najpierw zamieniaj adresy, potem emoty, ale już nie przez str_replace" title="Zobacz w manualu PHP" target="_manual, tylko przez wyrażenia regularne i w taki sposób, jak pokazałem.


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
Shinji
post 20.12.2008, 14:45:56
Post #7





Grupa: Zarejestrowani
Postów: 50
Pomógł: 1
Dołączył: 28.11.2006

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


dzieki za wszytskie podpowiedzi, ale..
gdy wpisze np 'pppp :/' jest okey, gdy wpisze 'mmm:/' też jest okey, ale gdy juz wpisze 'pppp:/' (bez spacji po słowie) emot nie zostaje zamieniony, w sumie nie wiem czemu, ale tak sie dzieje....
Go to the top of the page
+Quote Post
erix
post 20.12.2008, 15:27:35
Post #8





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Bo nawias kwadratowy określa klasę znaków, które nie mogą wystąpić przed emotką. Pomęcz się trochę z wzorcem. winksmiley.jpg


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
Shinji
post 20.12.2008, 17:51:56
Post #9





Grupa: Zarejestrowani
Postów: 50
Pomógł: 1
Dołączył: 28.11.2006

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


no własnie wiem, ze okreslaja znaki, i mecze sie mecze i nie umiem rozwiazać tego... bo z tego co mi wiadomo nie istnieje negacja tzn. 'atomu'...
Go to the top of the page
+Quote Post
erix
post 20.12.2008, 19:45:32
Post #10





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Kod
'#(?<!http)\:/#i'


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
Shinji
post 20.12.2008, 21:21:38
Post #11





Grupa: Zarejestrowani
Postów: 50
Pomógł: 1
Dołączył: 28.11.2006

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


No to teraz mnie zgiołeś! Tego nie znałem... Wielkie, ale to wielkie dzieki =)
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 Wersja Lo-Fi Aktualny czas: 14.08.2025 - 02:08