![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 29 Pomógł: 2 Dołączył: 22.07.2007 Ostrzeżenie: (0%) ![]() ![]() |
Witam, próbuje zrobić taki mały skrypt, który używa funkcji str_replace i mam mały problem.
Najpierw skrypt:
Zmienna $link wysyłana jest z formularza. W formularzu wpisałem link do fotki http://www.xy.pl/images/123xy.jpg. Teraz pojawia się dodatkowy problem. Prawdziwa fotka jest pod adresem: http://www.xy.pl/img/123.jpg Zauważcie, że w nazwie strony są te same znaki co w nazwie zdjęcia w pierwszym linku. Jak usunąć "x" i "y" tylko w nazwie foty? Jedziemy dalej... Powiedzmy, że już udało mi się przerobić http://www.xy.pl/images/123xy.jpg na http://www.xy.pl/img/123.jpg i chce wyświetlić ten obrazek, ale go nie widzę. Zamiast czegokolwiek jest puste pole. Tak jak by nic nie zostało przesłane. Formularz jest zrobiony poprawnie bo już go testowałem jak uczyłem się robić formularze, więc nie mam pojęcia co jest przyczyną tego, że nie pojawia się kompletnie nic w zamian za zmienną $link2. Bardzo proszę o pomoc w rozwiązaniu tych dwóch problemów. 1. Zmienna się nie wyświetla. 2. Jak usunąć "x" i "y" tylko w nazwie foty? |
|
|
![]() |
![]()
Post
#2
|
|
Administrator wortalu Grupa: Przyjaciele php.pl Postów: 960 Pomógł: 39 Dołączył: 21.10.2003 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Tytuł tematu nie spełnia wymagań regulaminu działu przedszkole. Zamykam. Po zgłoszeniu poprawnej formy któremukolwiek z moderatorów (wraz z linkiem do tego tematu) zostanie otwarty.
|
|
|
![]()
Post
#3
|
|
Grupa: Przyjaciele php.pl Postów: 1 590 Pomógł: 40 Dołączył: 11.01.2007 Skąd: Centrum Ostrzeżenie: (0%) ![]() ![]() |
Otwieram
Co do problemu. Najprościej to będzie zrobić tak, że po pierwszym użyciu str_replace dzielisz otrzymany string za pomocą explode("/",$link1); i następnie usuwasz z ostatniej części tego stringa znaki x i y .. po czym znowu łączysz w jeden string za pomocą implode("/",$string_array); |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 108 Pomógł: 26 Dołączył: 29.02.2008 Ostrzeżenie: (0%) ![]() ![]() |
Można też za pomocą wyrażeń regularnych(chociaż nie jest to najwydajniejsze rozwiązanie). Masz tu przykład(wyrażenie pisane na szybko ,więc nie oczekuj cudów, ale testowałem i działa):
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 29 Pomógł: 2 Dołączył: 22.07.2007 Ostrzeżenie: (0%) ![]() ![]() |
Tylko, że ja nie wiem o co chodzi. Dopiero zaczynam str_replace i raczej mile widziany był by przykład. Czytałem trochę na php.net i się właśnie mocuje.
Najlepiej jak podam bardziej dokładniejszy link jaki chce zamienić. http://serw.strona.pl/cache-thumb/EA/69/13540158_t.jpg chcę zamienić na http://serw.strona.pl/photos/EA/69/13540158.jpg. Wiem, że nie wypada, ale może ktoś to napisać? Najlepiej się chyba nauczę na przykładzie konkretnym (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) I chcę ten nowy link umieścić tu jako zmienna $link2
Pamiętajcie, że oryginalny link wysyłany jest formularzem. Edit: Xniver, działa tylko jeszcze images miało być zmienione na img (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Gdzie to wcisnąć? I pojawił się jeszcze taki problem, że jak to zdjęcie jest na innym serwerze to zmieniona nazwa wygląda tak, że pokazuje ścieżkę do skryptu i zmienioną nazwę tego obrazka. Czyli http://www.innastrona.pl/skrypt/13540158.jpg a chciałem http://serw.strona.pl/photos/EA/69/13540158.jpg na innastrona.pl W takiej sytuacji poszukam jeszcze jak użyć explode, ale mile widziane rozwiązanie w tym temacie. EDIT2: Rozwiązałem problem dzięki explode i implode (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Trochę się naczytałem ale dział. Dzięki za pomoc. Mój skrypt wygląda następująco:
Ten post edytował kartun11 15.03.2008, 01:19:55 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 24.08.2025 - 19:24 |