Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]preg_replace a linki w tekście
sadistic_son
post
Post #1





Grupa: Zarejestrowani
Postów: 1 495
Pomógł: 245
Dołączył: 1.07.2009
Skąd: Bydgoszcz

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


Cześć,
Wyrażenia regularne nie są moją najmocniejszą stroną. Chcę aby podmieniało mi linki na klikalne linki. Innymi słowy aby wszystko pomiędzy stringami 'www.' , 'http://' oraz 'https://' aż do pierwszej napotkanej spacji albo znaku nowej linii, albo kropki po której jest spacja czy nowa linia było wrzucane w a href.
Zaadoptowałem taki oto kod.

  1. $url = '@(http(s)?)?(://)?(([a-zA-Z])([-\w]+\.)+([^\s\.]+[^\s]*)+[^,.\s])@';
  2. $string = preg_replace($url, '<a href="http$2://$4" target="_blank" title="$0">$0</a>', $string);
  3. $row[3]=$string;*/

Wszystko pięknie oprócz tego że konwertuje każdy tekst przed kropką. Czyli strona.pl zostanie przekonwertowana. Fajnie, ale strona.strona też (IMG:style_emoticons/default/sad.gif)

Pomóżcie.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
trueblue
post
Post #2





Grupa: Zarejestrowani
Postów: 6 809
Pomógł: 1828
Dołączył: 11.03.2014

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


Z tego co widzę argumenty do preg_replace można przekazywać jako tablice od wersji 5.4, choć dokumentacja o tym nie pisze.
Albo zmień wersję PHP (naprawdę 5.2?(IMG:style_emoticons/default/questionmark.gif) ), albo użyj dwóch oddzielnych preg_replace.
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: 27.12.2025 - 12:47