Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [Wyrażenia regularne]Zamiana adresów
Virti
post 1.07.2010, 12:57:46
Post #1





Grupa: Zarejestrowani
Postów: 115
Pomógł: 12
Dołączył: 11.01.2005
Skąd: Zduńska Wola

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


Witam,
mam problem, mam taki kod:
Kod
url('files/asd.jpg');
url('files/asd1.jpg');
url('files/as2.jpg');
url('http://example.com/files/asd3.jpg');


Musze w nim zamienić wszystkie relatywne adresy ( np. files/asd.jpg ) na adresy absolutne: ( http://example.com/files/asd.jpg ). Problem polega na zamianie tylko i wyłącznie tych, które są relatywne. Niestety nie jestem zbyt dobry w konstruowaniu wyrażeń regularnych, więc zwracam się do Was po pomoc.
Miałem kilka pomysłów jak to wykonać, jednak ten z preg_replace(); wydaje się najlepszy. Niestety z wyrażeniami kuleję.

Bylbym bardzo wdzięczny za pomoc,
Pozdrawiam, Virti

Ten post edytował Virti 1.07.2010, 12:58:17
Go to the top of the page
+Quote Post
kilas88
post 1.07.2010, 13:00:53
Post #2





Grupa: Zarejestrowani
Postów: 305
Pomógł: 25
Dołączył: 27.01.2007

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


A może lepiej zastosować element HTML, BASE?

Kod
<base href="http://example.com/" />


Jak koniecznie ma to przechodzić przez regex to co innego, można napisać i tak, jednak to będzie dużo dużo mniej wydajne rozwiązanie.
Go to the top of the page
+Quote Post
Wicepsik
post 1.07.2010, 13:23:43
Post #3





Grupa: Zarejestrowani
Postów: 1 575
Pomógł: 299
Dołączył: 26.03.2009

Ostrzeżenie: (20%)
X----


Najprostsze rozwiązanie

  1. function url($url){
  2. return strstr($url, 'http://example.com/') ? $url : 'http://example.com/'.$url;
  3. }
  4.  
  5.  
  6. echo url('files/asd.jpg');
  7. echo url('files/asd1.jpg');
  8. echo url('files/as2.jpg');
  9. echo url('http://example.com/files/asd3.jpg');


Ten post edytował Wicepsik 1.07.2010, 13:37:46


--------------------
Go to the top of the page
+Quote Post
Virti
post 1.07.2010, 15:25:20
Post #4





Grupa: Zarejestrowani
Postów: 115
Pomógł: 12
Dołączył: 11.01.2005
Skąd: Zduńska Wola

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


Dzięki wielkie, Wicepsik Twoje rozwiązanie jest po prostu idealne do moich potrzeb.
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: 13.06.2025 - 09:16