Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php] odliczanie w pregreplace
tomeknh
post
Post #1





Grupa: Zarejestrowani
Postów: 90
Pomógł: 0
Dołączył: 2.12.2007

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


witam,

mam taki kod:
  1. $dane = preg_replace("#\[img\](.*?)\[/img\]#si",'<div style="width:100px;height:100px;" id="pow'.$i++.'"><img src="\\1" alt="" style="width:100px;height:100px;position:absolute;z-index:5;" /></div>',$dane);


jak zrobić żeby przy id="pow'.$i++.'" z każdym wywołaniem preg_replace liczba się zwiększała?

poprostu musi to wyglądać, że każdy nowy obrazek musi mieć nowe id = pow0, id=pow1, id=pow2
Go to the top of the page
+Quote Post
krispak
post
Post #2





Grupa: Zarejestrowani
Postów: 250
Pomógł: 55
Dołączył: 27.08.2008

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


Zalezy jak masz tam zrobione.

Albo umiesc to w petli albo odczytuj z bazy max id i zwiekszaj


--------------------
* * * * * * * * * * * * * * * * * * * * * * * * *
PHP, Laravel, Docker, Docker Compose, Laradock, Redis, JS, React, Vue, CSS, SCSS, Gulp, GIT ... itd..
Go to the top of the page
+Quote Post
tomeknh
post
Post #3





Grupa: Zarejestrowani
Postów: 90
Pomógł: 0
Dołączył: 2.12.2007

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


A jak zrobić pętle która wyszukuję ile razy w dane treści pojawiają się tagi [img][/img] questionmark.gifquestionmark.gif

Mam zmienną a raczej plik z treścią i tam jest w nim tekst na strone i też bbCode [img]
Go to the top of the page
+Quote Post
erix
post
Post #4





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




substr_count?


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
tomeknh
post
Post #5





Grupa: Zarejestrowani
Postów: 90
Pomógł: 0
Dołączył: 2.12.2007

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


dziękuje ładnie smile.gif

Jednak Lipa....

  1. $ile = substr_count($dane, '[img]');
  2.  
  3. for($i = 0; $i < $ile; $i++){
  4. $dane = preg_replace("#\[img\](.*?)\[/img\]#si",'<div style="width:100px;height:100px;" id="pow'.$i.'"><img src="\\1" alt="" style="width:100px;height:100px;position:absolute;z-index:5;" /></div>',$dane);
  5. }
  6.  
  7. echo $dane;


Mam powyższy kod...


Jednak preg_replace przecież za jednym razem konwertuję wszystkie tagi [img] więc na nic zdaję się pętla for...
Może da się po jednym tagu zatrzymać preg_replace i potem przejść do następnego już z nowym ID
Co robićquestionmark.gifquestionmark.gif

Albo nowa koncepcja.
Dodając tag [img1] lub [img2] lub [img3] itp.

Jakie będzie wyrażenie dla preg_replace żeby konwertowało to dalej na obrazek tylko że liczbę przy img przenosiło do id="liczba"


Kombinowałem tak:

$dane = preg_replace("#\[img(.*?)\](.*?)\[/img\]#si",'<div style="width:100px;height:100px;" id="pow\\"><img src="\\1" alt="" style="width:100px;height:100px;position:absolute;z-index:5;" /></div>',$dane);

ale nie działa...
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 Aktualny czas: 19.08.2025 - 09:19