Witajcie!
Mam napisany prosty parser, który ułatwia mi redagowanie treści.
W pobieranych treściach mam zapisane adresy do grafiki w postaci http://www.adres.pl/katalog/katalog2/katalog3/plik.jpg
Najpierw pojawił się problem jak wyciągnąć z tego adresu nazwę pliku jpg, ale w manualu php znalazło się takie rozwiązanie:
$jpg = substr(strrchr($adres, '/'), 1); (może jest jakieś ciekawsze rozwiązanie? RegExp?)
Wszystko ładnie działa. Jednak chcę, aby z pobieranych treści ciąg 'http://www.adres.pl/katalog/katalog2/katalog3/plik.jpg' był zamieniany na 'grafika/plik.jpg'
Wszystko byłoby dla mnie proste, gdyby nie fakt, że adres do pliku się zmienia, podobnie jak sama nazwa pliku jpg. Czasami jest to:
http://www.adres.pl/katalog/katalog2/katalog3/plik.jpg
Innym razem: http://www.adres.pl/katalog/katalog2/plik6.jpg
Jeszcze innym razem http://www.adres.pl/plik6.jpg
Jak rozwiązać ten problem? Treść przechowuję z zmiennej i przed wrzuceniem jej do bazy chcę adresy do grafiki pozmieniać na 'grafika/nazwa_pliku.jpg'.
Wyrażenia regularne to dla mnie czarna magia. W skrócie miałoby to działać tak.
Zawartość zmiennej:
$tresc = "Przykładowa treść i adres 1 http://www.adres.pl/katalog/katalog2/katalog3/plik.jpg oraz adres 2 http://www.adres.pl/katalog/plik.jpg";
Zamieniamy na:
$tresc = "Przykładowa treść i adres 1 grafika/plik.jpg oraz adres 2 grafika/plik.jpg";