Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Automatyczna zamiana http:// na linki
bmati666
post
Post #1





Grupa: Zarejestrowani
Postów: 57
Pomógł: 1
Dołączył: 12.02.2016

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


Witam,
Znalazłem taki skrypt:
  1. <?php
  2. function createUrl($text){
  3. $text=preg_replace('|(?<!href=")(https?://[A-Za-z0-9+\-=._/*(),@\'$:;&!?]+)|',
  4. '<a href="http://$1">$1</a>',
  5. $text);
  6. return $text;
  7. }
  8.  
  9. $text = 'http://funckej.net to bardzo dobra strona a <a href="http://www.onet.pl" target="_blank">http://www.onet.pl</a> też dobre jest';
  10.  
  11. echo createUrl($text);
  12. ?>

Problem w tym, że link po kliknięciu nie przekierowuje do http://... tylko http// (bez dwukropka).
Wie ktoś jak to naprawić i co zrobić żeby samo www.strona.pl (bez http://) też zamieniało w link?

Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
bmati666
post
Post #2





Grupa: Zarejestrowani
Postów: 57
Pomógł: 1
Dołączył: 12.02.2016

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


Udało mi się wykombinować coś takiego:
  1. function createUrl($text){
  2.  
  3. $text = preg_replace('#https?://[a-z0-9._/-]+#i', '<a href="$0">$0</a>', $text);
  4.  
  5. $regex = "#[ ]+(www.([a-z0-9._-]+))#i";
  6.  
  7. $text = preg_replace($regex," <a href='http://$1'>$1</a>",$text);
  8.  
  9. return $text;
  10. }

Ale, jak widać przed www. musi być spacja.
Chciałbym to zamienić na warunek, że przed www. nie może być http://




Da się coś takiego zrobić?

Ten post edytował bmati666 16.03.2016, 18:40:58
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 6.10.2025 - 20:41