Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] preg_replace - wyszukanie linków w tekście
tenloginjestzaje...
post
Post #1





Grupa: Zarejestrowani
Postów: 358
Pomógł: 1
Dołączył: 20.07.2014

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


Witam
Zamian linków w tekście, korzystam z tego kodu. Jednak domeny zawierające myślnik (-) nie działają.

  1. <?php
  2. $text = "Tekst zawierający linki httpdomenapl koniec tekstu. httpsdomenapl dalszy tekst.";
  3. $zmiana = preg_replace("&(.t+p.?:\/\/|w{3}\.)(w{3}\.)?([\w.-\/]+)[\n]?[/r]?& i", "<a href=\"http://$2$3\" target=\"_blank\">$2$3</a>", $text);
  4. echo $zmiana;
  5. ?>


Rozwiązanie:
  1. <?php
  2. $text = "Tekst zawierający linki <a href="http://adre-asd-s.pl/podstrona" target="_blank">http://adre-asd-s.pl/podstrona</a> koniec tekstu. <a href="https://allegro.pl/" target="_blank">https://allegro.pl/</a> dalszy tekst.";
  3. $wpis = preg_replace('@(https?://([-\w\.]+[-\w])+(:\d+)?(/([\w/_\.#-]*(\?\S+)?[^\.\s])?)?)@', '<a href="$1" target="_blank">$1</a>', $text);
  4. echo $wpis;
  5. ?>


Ten post edytował tenloginjestzajety 13.10.2016, 22:32:06


--------------------
Nigdy nie zapominam kliknąć "pomógł". Zastosowanie na stronie [prosze nie spamuj]
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
kpt_lucek
post
Post #2





Grupa: Zarejestrowani
Postów: 428
Pomógł: 77
Dołączył: 10.07.2011
Skąd: Warszawa

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


Pierwszy link w google?


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


Cytat
There is a Bundle for that
Lukas Kahwe Smith - October 31th, 2014
Go to the top of the page
+Quote Post
tenloginjestzaje...
post
Post #3





Grupa: Zarejestrowani
Postów: 358
Pomógł: 1
Dołączył: 20.07.2014

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


Mam mały problem z tą zamianą, ponieważ jeżeli ktoś doda do bazy tekst z linkiem z enterem ( korzystam z nl2br ) to link się psuje, zawiera pierwszy znak "<br />" czyli "<". Próbowałem dodać spację przy dodawaniu, ale nie działa.


--------------------
Nigdy nie zapominam kliknąć "pomógł". Zastosowanie na stronie [prosze nie spamuj]
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: 22.08.2025 - 07:52