![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 14 Pomógł: 0 Dołączył: 2.02.2022 Ostrzeżenie: (0%) ![]() ![]() |
Witam serdecznie,
Mam na stronie treści pobierane z bazy danych. Załóżmy że mam zmienną $txt ze stringiem. Zdarzają się w nich nich obrazki w różnych postaciach: - <img alt="XXXX" class="img-fluid" src="random.name" style="height:930px; width:620px" /> - <img alt="XXXX" class="img-fluid" src="random.name"/> - <img src="random.name"/> etc Potrzebuję dodać do każdego obrazka: class "picla" and data-label-class="label-class" - czyli w rezultacie: - <img alt="XXXX" class="img-fluid picla" src="random.name" style="height:930px; width:620px" data-label-class="label-class"/> - <img alt="XXXX" class="img-fluid picla" src="random.name" data-label-class="label-class"/> - <img class="picla" src="random.name" data-label-class="label-class"/> Wie ktoś może jak to zrobić? ![]() |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 66 Pomógł: 1 Dołączył: 4.05.2019 Skąd: PHP5.6 Ostrzeżenie: (0%) ![]() ![]() |
Najprościej, niekoniecznie najlepiej. ( $txt .= w zależności w jaki sposób wyświetlasz) |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 6 799 Pomógł: 1827 Dołączył: 11.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
Zanim uruchomisz ten plugin, dodaj po prostu brakujące wartości i atrybuty w JS.
https://api.jquery.com/addclass/ https://api.jquery.com/attr/ -------------------- |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 14 Pomógł: 0 Dołączył: 2.02.2022 Ostrzeżenie: (0%) ![]() ![]() |
Najprościej, niekoniecznie najlepiej. ( $txt .= w zależności w jaki sposób wyświetlasz) to nie zadziała, bo w stringu mam też inne treści, tabelki itp... zdjęcia nie zawsze są :/ Zanim uruchomisz ten plugin, dodaj po prostu brakujące wartości i atrybuty w JS. https://api.jquery.com/addclass/ https://api.jquery.com/attr/ to musi być po stronie php zmienione ![]() |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 66 Pomógł: 1 Dołączył: 4.05.2019 Skąd: PHP5.6 Ostrzeżenie: (0%) ![]() ![]() |
Najlepiej byłoby odpytać SQL gdzie znajdują się wartości, które chcesz modyfikować, a następnie wykonać UPDATE i mieć problem z głowy.
edit: Dużo gorszym rozwiązaniem byłoby zastosowanie if'a ze strpos(), a następnie $txt = str_replace('img-fluid','img-fluid picla" data-label-class="label-class" ', $txt); Ten post edytował phpuser88 9.05.2022, 21:57:22 |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 6 799 Pomógł: 1827 Dołączył: 11.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
to musi być po stronie php zmienione ![]() A możesz wytłumaczyć dlaczego w PHP? Przecież biblioteka galerii jest w JS, przed jej uruchomieniem wystarczy dodać atrybuty i wartości również w JS. Co spowoduje, że skrypt galerii w trakcie inicjalizacji znajdziej to co potrzebuje i uruchomi się poprawnie. Jeśli tak bardzo chcesz PHP: https://kawalekkodu.pl/the-tag-is-out-there...domxpath-s01e01 https://kawalekkodu.pl/the-tag-is-out-there...domxpath-s01e02 https://kawalekkodu.pl/the-tag-is-out-there...domxpath-s01e03 https://kawalekkodu.pl/the-tag-is-out-there...domxpath-s01e04 -------------------- |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 396 Pomógł: 71 Dołączył: 15.07.2014 Ostrzeżenie: (0%) ![]() ![]() |
Przecież biblioteka galerii jest w JS A gdzie jest taka informacja, że to o galerię chodzi? Bo przeczytałem temat i dopiero Ty wspominasz o galerii. Ogólnie, to zrobiłbym to regexem i str_replace. Najpierw poszukaj czy zmienna $txt pasuje do patternu <img>, i później... Jeżeli ma już atrybut class, to dodaj klasę na końcu, jeżeli nie, to podmień 'img' na 'img class="..."' + jeżeli nie ma data-atrybutu, to podmień '>' na 'data-atrybut="...">'. Ten post edytował Salvation 10.05.2022, 07:52:49 |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 6 799 Pomógł: 1827 Dołączył: 11.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
A gdzie jest taka informacja, że to o galerię chodzi? Bo przeczytałem temat i dopiero Ty wspominasz o galerii. A tutaj: http://arunmichaeldsouza.github.io/picla/ -------------------- |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 14 Pomógł: 0 Dołączył: 2.02.2022 Ostrzeżenie: (0%) ![]() ![]() |
Tak, chodzi o PICLA ![]() zrobiłem taki kod:
ale nie dodaje napisów na zdjęciu (jak dodam ręcznie z poziomu kodu html to działa). JS byłļy lepszy, ale nie chce działać ![]() |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 6 799 Pomógł: 1827 Dołączył: 11.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
Z tego co widzę, to podpisy pobierane są z atrybutu alt.
Jeśli brak tego atrybutu, to podpisu nie będzie. Ten post edytował trueblue 10.05.2022, 09:49:48 -------------------- |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 14 Pomógł: 0 Dołączył: 2.02.2022 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 6 799 Pomógł: 1827 Dołączył: 11.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
W odpowiedniej kolejności uruchamiasz skrypty, tj. najpierw Twój, potem picla?
-------------------- |
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 14 Pomógł: 0 Dołączył: 2.02.2022 Ostrzeżenie: (0%) ![]() ![]() |
Problem rozwiązany
![]() ![]() |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 12.06.2025 - 20:23 |